Senin, 12 April 2010

RDBMS VS NoSQL

Relational Database Management System (RDBMS)


Relational Database Management System (RDBMS) adalah sebuah sistem yang secara otomatis menyatukan semua DBMS yang saling berhubungan. RDBMS biasanya menggunakan 4th Genration Languange (4GL) dan sangat fleksibel sehingga data dapat dimodifikasi dengan mudah, demikian pula dengan struktur databasenya.

RDBMS tumbuh dari suatu teori yang pertama kali dikembangkan oleh E.F Codd (IBM, 1969). Model relasi CODD ini digunakan untuk menciptakan sebuah sistem secara formal sebagai media penyimpanan data yang memisahkan representasi data secara internal dari aksses dan representasi / perwujudan logikanya.

Kekuatan RDBMS terletak pada kemampuannya untuk menyembunyikan detail dari penyimpanan data dari pengguna database dan cara penggunaanya yang lebih mudah baik bagi pembangunan aplikasi / programmer, maupun bagi pemakai akhir (end user). Hal ini didukung pula dengan penggunaan Structured Query Languange (SQL) sebagi sumber dari semua RDBMS.

Arsitektur RDBMS

Arsitektur RDBMS memiliki banyak karakteristik yang membedakan dari model penyimpanan data lainnya. Perbedaan yang paling penting adalah pemisahan segi fisik dari segi logika suatu data. Dalam RDBMS, seluruh data secara logika tersimpan di dalam tabel-tabel, yang merupakan kumpulan dari baris dan kolom. Sistem pencarian data di dalam RDBMS menggunakan index yang merupakan struktur data yang terpisah dari tabel dan menyimpan hanya nilai terstruktur dari kolom-kolom dan alamat fisiknya. Disamping itu dengan didukung oleh penggunaan index dapat mempercepat proses pencarian data di dalam database.
Faktor penting lainnya dari arsitektur RDBMS adalah integrity constraints. Dengan Integrity Constraints tabel-tabel dihubungkan dengan key. Key adalah beberapa kolom atau kombinasi kolom kolom yang secara unique mengidentifikasi setiap tabel. Sebuah key yang secara unique bagi suatu tabel dapat berdiri sebagai kolom yang tidak unique bagi tabel lainnya. Integrity Constraints adalah aturan "build in" yang secara otomatis berpengaruh dalam mempertahankan integritas database.
Aturan-aturan integritas ini biasa dibuat atau dirancang oleh seorang perancang database. Karakteristik penting lainnya dari arsitektur RDBMS adalah adanya "Optimizer". Optimizer adalah sebuah sistem pakar yang bertugas untuk menentukan cara pemrosesan yang paling efesien bagi suatu database.


Berikut ini diberikan deskripsi dari beberapa elemen-elemen
RDBMS :

* Database :
Sekelompok tabel data berisi informasi yang berhubungan. Perhatikan bahwa suatu database dapat terdiri dari satu tabel saja.

* Table :
Sekelompok record data, masing-masing informasi yang sejenis. Dalam contoh catalog perpustakaan, catalog itu sendiri merupakan tabel data.

* Record :
Entri tunggal dalam tabel; entri tersebut terdiri dari sejumlah field data. Dalam catalog perpustakaan, record adalah salah satu baris entri tunggal.

* Field :
Item (kolom) tertentu dari data dalam record. Dalam satu buku telepon, sekurang-kurangnya dapat dikenali empat field : nama keluarga, nama depan, alamat, dan nomor telepon.

* Index :
Tipe tabel tertentu yang berisi nilai-nilai field kunci atau field (yang ditetapkan oleh pemakai) dan pinter ke lokasi record yang sebenarnya. Nilai-nilai dan pointer ini disimpan dalam urutan tertentu (sekali lagi ditetapkan oleh pemakai) dan mungkin digunakan untuk menyajikan data dalam urutan database.

Query :
Perintah SQL yang dirancang untuk memanggil kelompok record tertentu dari satu tabel atau lebih untuk melakukan operasi pada tabel. Meskipun perintah SQL dapat dijalankan langsung dari program, query sebagai enjin perintah dan menyimpannya dalam database itu sendiri - ini berguna, jika perintah-perintah SQL sering kita gunakan, sebagaimana perintah yang memanggil record untuk laporan bulanan tertentu. Bila query disimpan dalam database, biasanya kompilasi. Kompilasi query memperbaiki kinerja program kita kerana mesin database tidak harus menerjemahkan (atau menguraikan) perintah SQL.

Filter (Pembatas Kondisi) :
Filter sebenarnya bukan merupakan bagian dari database, namun ia digunakan bersama urutan indeks dan sort untuk menentukan data mana yang diproses atau ditampilkan. Filter adalah pembatas kondisi yang dikenakan pada data

View :
View data terdiri atas jumlah record yang tampak (atau diproses) dan urutan penampilannya (atau pemrosesannya). View khususnya dikendalikan oleh filter dan indeks.



NoSQL


NoSQL adalah yang cepat, portabel, sistem manajemen basis data relasional yang sewenang-wenang tanpa batas, (selain memori dan kecepatan prosesor) yang berjalan di bawah, dan berinteraksi dengan, Sistem Operasi UNIX1. Ia menggunakan "Operator-Stream Paradigm" dijelaskan dalam "Unix Review", March, 1991, halaman 24, berjudul "4GL Bahasa". Ada sejumlah "operator" yang masing-masing melakukan fungsi yang unik pada data. The "aliran" adalah UNIX diberikan oleh Input / Output redirection mekanisme. Oleh karena itu masing-masing operator proses beberapa data dan kemudian meneruskannya sepanjang operator berikutnya melalui pipa fungsi UNIX. Hal ini sangat efisien sebagai pipa UNIX diimplementasikan di memori. NoSQL ini kompatibel dengan "Relational Model".

Apa NoSQL
NoSQL, yang saya pribadi ingin mengucapkan sebagai noseequel2, merupakan turunan dari sistem database RDB. Yang terakhir ini dikembangkan di RAND Organisasi oleh Walter W. Hobbs. Beberapa Perl script disertakan dengan NoSQL masih sangat dekat dengan RDB yang asli, sehingga pangsa baik kredit bagi mereka pergi ke penulis asli.
Kontributor utama lainnya untuk sistem RDB asli, selain Walter Hobbs, adalah:
• Chuck Bush
• Don Emerson
• Judy Pemberi Pinjaman
• Roy Gates
• Rae Starr
Orang-orang yang membantu dengan mengubah RDB menjadi NoSQL:
• Vincenzo (Vicky) Belloli
• David Frey
• Giuseppe Paterno
• Maurizio (Masar) Sartori
• Paulus Lussier
• Seth LaForge
• Mikha Stetson
• Thomas Miller
• Michael Somos
• Agustin Ferrin
NoSQL logonya yang baik yang disediakan oleh Kyle Hart.
Seperti namanya, bukanlah NoSQL database SQL melainkan tingkat shell-alat, seperti yang dijelaskan dalam Filsafat NoSQL. NoSQL data yang terdapat dalam file ASCII UNIX biasa, dan sehingga dapat dimanipulasi oleh utilitas UNIX biasa, misalnya ls, wc, mv, cp, kucing, kepala, lebih, kurang, editor seperti 'vi', dll, dan juga oleh sistem versioning kuat, seperti RCS dan CVS.
Bentuk setiap file data adalah bahwa dari sebuah relasi, atau meja, dengan baris dan kolom informasi.
Untuk mengekstrak informasi, file data diberi makan kepada satu atau lebih "operator" melalui UNIX Input / Output redirection mekanisme.
Ada juga program untuk menghasilkan, memodifikasi, dan memvalidasi data. Yang lebih melalui diskusi tentang mengapa jenis ini struktur database relasional masuk akal adalah ditemukan dalam buku, "UNIX Relational Database Management", di "Referensi" di bawah.
Diasumsikan bahwa pembaca telah setidaknya dasar keakraban dengan Sistem Operasi UNIX, termasuk pengetahuan tentang Input / Outout pengarahan ulang (misalnya, STDIN, STDOUT, pipa).
NoSQL cenderung menjadi bias mendukung Linux. Ini berarti bahwa, di manapun itu penting, membuat NoSQL menggunakan versi GNU berbagai perintah UNIX, seperti yang adalah orang-orang biasanya ditemukan di Linux. NoSQL adalah perangkat lunak gratis, yang dirilis di bawah GNU General Public License. Dengan demikian, hal itu sepenuhnya memenuhi syarat juga sebagai Open Source Software.
______________________________________
Cara mendapatkan NoSQL
Bebas NoSQL dapat didownload dari http://www.strozzi.it/shared/nosql/. Pastikan Anda mendapatkan juga setiap patch untuk kode dasar, untuk versi yang Anda download.
Mulai dari versi 4.0.14 repositori dalam pembangunan NoSQL dipindahkan dari CVS ke Subversion. Berwenang dapat men-download kode perkembangan terbaru dari server Subversion:
svn checkout - username anonim svn: / / subversion.strozzi.it / pub / nosql / trunk
Versi NoSQL dari 4.1.0 ke 4.1.6 tergantung pada Shell-Ware Utilitas (SWU) paket, yang dapat didownload dari http://www.strozzi.it/shared/swu/. Karena hanya sebagian kecil dari sebenarnya SWU diperlukan untuk NoSQL untuk bekerja, mulai dari versi 4.1.7 seperti Aku telah menghapus ketergantungan dengan memasukkan minimal, stripped-down dengan SWU versi NoSQL itu sendiri. Jika Anda telah menginstal full-blown SWU, NoSQL akan menggunakan satu saja.

Tidak ada komentar: