Database
Apa itu Database?
Database adalah kumpulan data yang disimpan secara sistematis di dalam komputer dan dapat diolah atau dimanipulasi menggunakan perangkat lunak (software) untuk menghasilkan informasi. Data yang tersimpan di dalam database dapat diakses oleh banyak pengguna yang berbeda-beda secara bersamaan. Database juga dapat diartikan sebagai tempat penyimpanan data yang terorganisasi dan terstruktur.
Jenis-jenis Database
1. Relational Database
Relational Database adalah database yang menyimpan data dalam bentuk tabel yang saling berelasi satu sama lain. Relational Database merupakan database yang paling banyak digunakan. Contoh dari Relational Database adalah MySQL, PostgreSQL, Oracle, dan lain-lain. Database relasional memiliki batasan setiap tabel yang dibuat harus memiliki skema yang telah ditentukan sebelumnya. Skema ini biasanya disebut dengan skema relasional. Skema relasional ini biasanya terdiri dari beberapa kolom yang memiliki tipe data tertentu. Selain itu, setiap tabel juga harus memiliki primary key yang berfungsi sebagai identifier dari setiap baris data yang ada di dalam tabel tersebut. Sebagai contoh
CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`email` varchar(255) NOT NULL,
`password` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
);
Apabila kita lihat dari skema yang diatas, tabel user yang telah dibuat hanya akan memiliki kolom id, name, email dan password. Apabila ingin menambahkan kolom baru kita perlu merubah struktur tabel yang dibuat, perlu diingat apabila tabel yang telah dibuat memiliki data. Kita perlu memikirkan bagaimana cara untuk memindahkan data yang telah ada ke dalam tabel yang baru. Selain itu, kita juga perlu memikirkan bagaimana cara untuk mengubah aplikasi yang telah dibuat agar dapat menggunakan kolom baru yang telah ditambahkan. Hal ini tentu akan memakan waktu dan biaya yang tidak sedikit. Selain itu, kita juga perlu memikirkan bagaimana cara untuk mengubah aplikasi yang telah dibuat agar dapat menggunakan kolom baru yang telah ditambahkan. Hal ini tentu akan memakan waktu dan biaya yang tidak sedikit. Selain itu, kita juga perlu memikirkan bagaimana cara untuk mengubah aplikasi yang telah dibuat agar dapat menggunakan kolom baru yang telah ditambahkan. Hal ini tentu akan memakan waktu dan biaya yang tidak sedikit.
2. NoSQL Database
Database NoSQL sebetulnya bisa untuk dibuat berelasi antara satu data dengan data yang lainnya, namun NoSQL lebih memprioritaskan model data yang berbeda daripada database relasional tradisional. Sebagian besar database NoSQL dirancang untuk mengatasi tantangan dan kebutuhan yang berbeda dalam pengembangan aplikasi. Termasuk skala data yang besar, skema yang fleksibel, pengolahan data semi-struktural atau tidak terstruktur, serta kemampuan untuk menangani data dalam skala yang sangat besar. Namun, perlu dicatat bahwa meskipun beberapa database NoSQL memiliki kemampuan untuk mengelola relasi data, pendekatan yang digunakan berbeda dari RDBMS tradisional. Mereka sering lebih fokus pada kinerja skala besar dan fleksibilitas skema yang tinggi daripada ketatnya konsep relasional. Pilihan untuk menggunakan database NoSQL atau relasional bergantung pada kebutuhan aplikasi kamu buat. Jika aplikasi kamu buat sangat bergantung pada data yang saling terhubung dan memiliki skema yang stabil, database relasional mungkin lebih sesuai. Namun, jika kamu buat menghadapi skala besar, struktur data yang berubah-ubah, atau perlu mengakses data dengan relasi yang kompleks, maka database NoSQL bisa menjadi pilihan yang lebih baik.
Karena NoSQL Database tidak terpaut dengan skema database, maka data yang masuk ke dalam database tidak perlu memiliki struktur yang sama. Sebagai contoh, kita memiliki tabel user yang memiliki kolom id, name, email dan password. Apabila kita ingin menambahkan kolom baru, kita tidak perlu merubah struktur tabel yang telah dibuat. Kita hanya perlu menambahkan kolom baru yang kita inginkan. Sebagai contoh
User |
---|
id |
name |
password |
address |
Apabila kita lihat dari skema yang diatas, tabel user yang telah dibuat hanya akan memiliki kolom id, name, email, password dan address. Apabila ingin menambahkan kolom baru kita tidak perlu merubah struktur tabel yang dibuat, kita hanya perlu menambahkan kolom baru yang kita inginkan.
3. Graph Database
Graph Database adalah database yang menyimpan data dalam bentuk graph. Graph database atau Database grafik adalah jenis database NoSQL yang didesain khusus untuk menyimpan dan mengelola data yang memiliki banyak relasi kompleks. Mereka sangat baik dalam menggambarkan dan mengakses data yang saling terhubung. Dalam database grafik, relasi adalah bagian utama dari struktur data. Contoh dari Graph Database adalah Neo4j, OrientDB, dan lain-lain.
4. Object-Oriented Database
Object-Oriented Database adalah database yang menyimpan data dalam bentuk object. Object-Oriented Database merupakan database yang paling banyak digunakan. Contoh dari Object-Oriented Database adalah ZODB, Perst, dan lain-lain.
5. Distributed Database
Distributed Database adalah database yang menyimpan data dalam bentuk distributed. Distributed Database merupakan database yang paling banyak digunakan. Contoh dari Distributed Database adalah Cassandra, HBase, dan lain-lain.
6. Data Warehouse
Data Warehouse adalah database yang menyimpan data dalam bentuk data warehouse. Data Warehouse merupakan database yang paling banyak digunakan. Contoh dari Data Warehouse adalah Amazon Redshift, Google BigQuery, dan lain-lain.
7. Key Value Database
Key Value Database adalah database yang menyimpan data dalam bentuk key value. Key Value Database merupakan database yang paling banyak digunakan. Contoh dari Key Value Database adalah Redis, DynamoDB, dan lain-lain.
8. Time Series Database
Time Series Database adalah database yang menyimpan data dalam bentuk time series. Time Series Database merupakan database yang paling banyak digunakan. Contoh dari Time Series Database adalah InfluxDB, Graphite, dan lain-lain.
Dari sekian banyak jenis database yang telah disebutkan di atas. Penggunaan database ditentukan oleh kebutuhan dari aplikasi yang akan dibuat. Untuk aplikasi yang bersifat sederhana, penggunaan database yang paling tepat adalah Relational Database.