NoSQL (İVTYS)

Vikipedi, özgür ansiklopedi
Atla: kullan, ara

NoSQL (İng. bazen nosīkvel de okunur), bir UNİX shell tabanlı hızlı ve taşınabilir bir ilişkisel veritabanı yönetim sistemidir. İşlemci hızı ve elektronik bellek büyüklüğü dışında herhangi bir keyfî sınırlaması yoktur. NoSQL, UNIX işletim sistemiyle çalışır.[1] SQL'yi hiç kullanamayan ve dağıtık veritabanları kullanmayı öneren NoSQL kavramına karşın NoSQL bu dili kasten kullanmamaktadır.

Yapılışı[değiştir | kaynağı değiştir]

NoSQL, her "operatör"ün verilen veriyi özgün bir işlev uygulayan operatör-akım paradigmasına dayanır. UNİX giriş/çıkış yönlendirme sisteminden tedârik edilen veri akımı, operatörlerin hesap sonuçlarını UNIX pipe sistemiyle başka operatörlere iletir. UNIX pipe sistemi elektronik bellekte çalıştığından operatörlerini gerçekleştirmek için çok etkin bir yoldur.[1][2][3]

NoSQL, çoğunlukla yorumlayıcı dillerle yazılmış olduğundan en hızlı İVTYS'lerinden değildir.[4]

Felsefesi[değiştir | kaynağı değiştir]

SQL'i kullanmamanın nedenleri şunlardır:"[4]

  1. Karmaşıklık: Çoğu ticari amaçlı veritabanı ürünleri küçük projeler için fazla pahalı veya (kaynak aç programlarda) fazla karmaşıktırlar. Ayrıca NoSQL'de olan shell düzeyi yaklaşımları da bulunmamaktadır.
  2. Taşınırlılık:
    1. Veriler: NoSQL'de saklanan veriler kolaylıkla Macintosh veya MS-DOS bilgisayarlarına taşınabilirler.
    2. Yazılım: NoSQL, PERL ve AWK programlama dili yerleştirilmiş her UNİX'le çalışan bilgisayarda çalışabilmektedir. Hatta Microsoft Windows için yazılmış UNİX benzeri Cygwin ortamında da çalışabilir.
  3. Sınırsızlık: NoSQL has no arbitrary limits, like a data field size, column number, of file size limit, and can principally work where other products cannot. (Number of columns in a table may actually be limited to 32.768 by some implementations of the AWK1 programming language).
  4. Kullanılabilirlik: With its straight forward and logical concept, NoSQL can easily be used by non-computer people. For instance, rows of data are selected with the 'row' operator, columns with the 'column' operator.

In contrast to other RDBMS, NoSQL has the full power of UNIX during application development and usage. Its user interface uses the UNIX shell. So, it is not necessary to learn a set of new commands to administer the database. From the view of NoSQL, the database is not more than a set of files similar to any other user file. No scripting or other type of database language is used besides the UNIX shell. This shell-nature encourages casual use of this database, which makes it's use familiar, resulting in formal use. In other words, NoSQL is a set of shell routines that access normal files of the operating system.[4]

Kaynakça[değiştir | kaynağı değiştir]

  1. ^ a b "NoSQL: a non-SQL RDBMS". http://www.strozzi.it/. http://www.strozzi.it/cgi-bin/CSA/tw7/I/en_US/nosql/Home%20Page. Erişim tarihi: 2011-04-05. 
  2. ^ "NoSQL RDBMS". http://www.ehcache.net/: Ehcache Tutorial - EHCACHE, OSACHE, MEMCAHED. http://www.ehcache.net/nosql/nosql-rdbms/. Erişim tarihi: 2011-04-06. "NoSQL is a fast, portable, relational database management system without arbitrary limits, (other than memory and processor speed) that runs under, and interacts with, the UNIX1 Operating System. It uses the "Operator-Stream Paradigm" described in "Unix Review", March, 1991, page 24, entitled "A 4GL Language". There are a number of "operators" that each perform a unique function on the data. The "stream" is supplied by the UNIX Input/Output redirection mechanism. Therefore each operator processes some data and then passes it along to the next operator via the UNIX pipe function. This is very efficient as UNIX pipes are implemented in memory. NoSQL is compliant with the "Relational Model"." 
  3. ^ "NoSQL RDBMS". http://twit88.com/: twit88.com. http://twit88.com/blog/2010/03/14/nosql-rdbms/. Erişim tarihi: 2011-04-06. "The key feature of NoSQL (and other similar packages mentioned in this manual), is its close integration with UNIX. Real-world problems are typically more complex than the data models provided by many DBMS. Actual applications, and Web-based ones are no exception, are complex puzzles made up of many small pieces, several of which are data-related. Unlike other fourth generation systems, NoSQL is an extension of the UNIX environment, making available the full power of UNIX during application development and usage." 
  4. ^ a b c "NoSQL: a non-SQL RDBMS: Why NoSQL, in the first place?". http://www.strozzi.it/. http://www.strozzi.it/cgi-bin/CSA/tw7/I/en_US/nosql/Home%20Page. Erişim tarihi: 2011-04-05. "A good question one could ask is "With all the relational database management systems available today, why do we need another one ?". The main reasons are:
    1. Several times I have found myself writing applications that needed to rely upon simple database management tasks. Most commercial database products are often too costly and too feature-packed to encourage casual use. There is also plenty of good free databases around, but they too tend to provide far more than I need most of the times, and they too lack the shell-level approach of NoSQL. Admittedly, having been written mostly with interpretive languages (Shell, Perl, AWK), NoSQL is not the fastest DBMS of all, at least not always (a lot depends on the application).
    2. NoSQL is easy to use by non-computer people. The concept is straight forward and logical. To select rows of data, the 'row' operator is used; to select columns of data, the 'column' operator is used.
    3. The data is highly portable to and from other types of machines, like Macintoshes or DOS computers.
    4. The system should run on any UNIX machine (that has the PERL and the AWK Programming Languages installed). Some users have reported it to work also on the Cygwin UNIX-like environment for Microsoft Windows.
    5. NoSQL essentially has no arbitrary limits and, at least in principle, it can work where other products can't. For example there is no limit on data field size, the number of columns, or file size (the number of columns in a table may actually be limited to 32.768 by some implementations of the AWK1 programming language)." 

Ayrıca bakınız[değiştir | kaynağı değiştir]

Dış bağlantılar[değiştir | kaynağı değiştir]