Pertarungan Blockchain VS Database Tradisional Dalam Aplikasi Judi Online

Database Tradisional

Contoh database tradisional

Database ini menggunakan arsitektur jaringan client-server. Pengguna(klien) dapat memodifikasi data, yang disimpan diserver terpusat. Kontrol database tetap dengan otoritas yang ditentukan, yang mengotentikasi kredensial klien sebelum dapat mengakses database. Karena otoritas ini bertanggungjawab untuk administrasi database, jika keamanan dikompromikan, data dapat diubah, atau bahkan dihapus.

Database Blockchain

Database ini tediri dari beberapa node yang terdesentralisasi. Setiap node berpartisipasi dalam administrasi, semua node memverifikasi penambahan baru pada blockchain, dan mampu memasukkan data baru ke dalam database. Penambahan data dapat dilakukan ke blockchain bila mayoritas node mencapai konsensus. Mekanisme konsesus ini menjamin kemanan jaringan, sehingga sulit untuk diubah.

Dalam Bitcoin, konsesus ini dicapai dengan menambang (hashing), sementara Ethereum berupaya menggunakan bukti kepemilikan sebagai mekanismenya.

Integritas dan Transparansi

Properti utama dari teknologi blockchain, yang membedakannya dari teknologi database tradisional, adalah kemampuan verifikasi publik, yang dimungkinkan oleh integritas dan transparansi.

  • Integritas: Setiap pengguna dapat yakin bahwa data yang mereka ambil tidak rusak dan tidak berubah dari pertama kali direkam.
  • Transparansi: Setiap pengguna dapat memverifikasi bagaimana blockchain telah ditambahkan dari waktu ke waktu.

CRUD vs Operasi Baca & Tulis

Dalam database tradisional, pengguna dapat melakukan empat fungsi pada data, ‘Create’, ‘Read’, ‘Update’, dan ‘Delete’ (CRUD).

Sedangkan blockchain drancang untuk menjadi stuktur tambahan saja, Pengguna hanya dapat menambahkan data dalam bentuk blok tambahan. Semua data sebelumnya disimpan secara permanen dan tidak dapat diubah. Oleh karena itu, satu-satunya operasi yang terkait blockchain adalah:

  • Baca Operasi: Mengambil data dari blockchain.
  • Tulis Operasi: Menambahkan data ke blockchain.

Validasi dan Transaksi Judi dalam Blockchain

Blockchain memungkinkan dua fungsi: validasi transaksi dan penulisan transaksi baru. Transaksi adalah operasi yang mengubah status data yang ada pada blockchain. Sementara entri sebelumnya pada blockchain harus tetap sama, entri baru dapat mengubah status entri data sebelumnya. Misalnya, jika blockchain telah mencatat saldo dompet bitcoin anda sebesar 1 juta BTC, angka itu akan disimpan secara permanen pada blockchain. Ketika anda menghabiskan 400.000 BTC, transaksi itu akan dicatat pada blockchain, sehingga saldo anda akan menjadi 600.000 BTC. Namun karena blockchain hanya dapat ditambah, saldo sebelum transaksi anda sebesar 1 juta BTC juga akan tetap ada secara permanen pada blockchain, bagi mereka yang ingin melihatnya. Inilah sebabnya mengapa blockchain juga sering disebut sebagai buku besar yang tidak berubah dan terdistribusi.

Ilustrasi blockchain

Singkatnya, perbedaan antara database tradisional dan blockchain adalah kontrolnya. Kontrol desentralisasi menghilangkan resiko kontrol terpusat. Contohnya begini, siapapun yang memiliki akses penuh ke database permainan judi online dapat merubah data taruhan online yang ada didalamnya. Sehingga, penjudi sangat bergantung pada infrastruktur keamanan dari administrator database milik bandar tersebut. Teknologi blockchain dalam casino online menggunakan penyimpanan terdesentralisasi untuk menghindari masalah ini. Penggunaan teknologi mutakhir ini sudah diadopsi oleh agen bola yang kondang seperti HokiPanda. Dengan mengaplikasikan judi berbasis blockchain maka proses memasang taruhan dan data transaksi dari penjudi menjadi semakin aman. Teknologi blockchain sangat cocok untuk merekam jenis informasi seperti ini. Sangat penting bagi setiap organisasi untuk memahami apa yang diinginkan dari suatu database, dan mengukurnya terhadap kekuatan serta keamanan masing-masing database, sebelum memilih salah satunya.

Perbandingan Antara MySQL vs MongoDB

Pendahuluan

Database Relasional menjadi pilihan utama selama beberapa dekade, baik MySQL, Oracle, atau MS SQL. DBMS tersebut menjadi dasar dari banyak aplikasi perusahaan, namun saat ini aplikasi modern, membutuhkan lebih banyak keragaman dan skalabilitas. Database non-relasional, seperti MongoDB, telah muncul untuk memenuhi persyaratan itu, dan disebut-sebut sebagai pengganti lingkungan database relasional.

MySQL

Penggunaan MySQL dalam sebuah program

MySQL adalah DBMS data relasional (RDBMS) open source dengan fitur yang lengkap. Awalnya dibangun oleh MySQL AB yang saat ini dimiliki oleh Oracle Corporation. MySQL menyimpan data dalam tabel yang dikelompokkan ke dalam database, menggunakan Structured Query Languange (SQL) untuk mengakses data, dan perintah-perintah seperti ‘SELECT’, ‘UPDATE’, ‘INSERT’ dan ‘DELETE’ untuk mengelolanya. Informasi terkait dapat disimpan dalam tabel yang berbeda, perintah ‘JOIN’ dapat menghubungkannya, melakukan penyimpanan di tabel yang berbeda akan meminimalkan kemungkinan duplikasi data.

MySQL kompatibel dengan hampir semua sistem operasi, seperti Windows, Linux, Unix, Apple, FreeBSD, dan banyak lainnya. MySQL juga mendukung berbagai macam storage, seperti InnoDB(default), Federated, MyISAM, Memory, CSV, Archive, Blackhole, dan Merge.

MongoDB

Penggunaan MongoDB dalam aplikasi

MongoDB adalah database open source dengan document-oriented yang dikembangkan oleh 10gen, yang kemudian disebut MongoDB Inc. Dalam hal ini, dokumen dibuat dan disimpan dalam file BSON. Format binary untuk JSON (JavaScript Object Notation), sehingga mendukung semua tipe data JS.

Karena itu, MongoDB sering diterapkan untuk proyek yang menggunakan Node.Js. Selain itu, JSON juga memungkinkan transfer data antara server dan aplikasi web dengan format yang dapat dibaca manusia. Kapasitas dan kecepatan penyimpanan file ini juga lebih baik, karena itu format ini menawarkan efisiensi dan keandalan yang lebih besar.

Salah satu manfaat utama yang ditawarkan oleh MongoDB adalah penggunaan skema dinamis yang menghilangkan kebutuhan untuk mendefinisikan struktur sebelumnya. Seperti, field atau nilai tipe. Model ini memungkinkan representasi hubungan hierarkis, penyimpanan array, dan kemampuan untuk mengubah struktur rekaman hanya dengan menambahkan atau menghapus field. Solusi NoSQL ini dilengkapi dengan embedding, sharding, dan replikasi on-board untuk skalabilitas yang lebih baik dan ketersediaan tinggi.

Database mana yang cocok digunakan dalam sebuah project?

MongoDB menarik pengguna dengan filosofinya yang terbuka dan simpel, serta dukungan komunitas yang kolaboratif. Sementara beberapa pengguna melaporkan kebalikannya tentang MySQL, setelah diakuisisi oleh Oracle. Masalah lainnya adalah fokus pemilik pada pengembangan MariaDB dan penolakan pada komunitas untuk melakukan update. Faktor-faktor ini menyebabkan MySQL tidak berkembang, meskipun MySQL masih merupakan solusi untuk banyak perusahaan di seluruh dunia.

Membandingkan kecepatan MongoDB dan MySQL, developer mencatat bahwa MySQL tidak memiliki kecepatan dan mengalami kesulitan untuk mengolah volume data yang besar, sedangkan MongoDB memiliki kelebihan untuk mengatasi jumlah data yang besar dan tidak terstruktur.

Kapan kita harus menggunakan MongoDB?, anda harus mempertimbangkan persyaratan proyek dan tujuan lebih lanjut. MySQL terkenal dengan kinerja tinggi, fleksibilitas, perlindungan data yang andal, ketersediaan tinggi, dan kemudahan manajemen. Pengindeksan data yang tepat dapat memecahkan masalah dengan kinerja, memfasilitasi interaksi dan memastikan ketahanan. Tetapi, jika data yang anda miliki tidak terstruktur dan kompleks, atau anda tidak dapat menentukan skema sebelumnya, baiknya anda memilih MongoDB, apalagi jika anda perlu menangani volume data yang besar.

Bekerja Pada Database & Tabel

Database adalah kumpulan atau seperangkat tabel. Setiap tabel memiliki daftar data yang berulang dan tersusun tentang suatu informasi spesifik. Misalnya, meja untuk pelanggan, pesanan, produk, karyawan, dan sebagainya. Secara visual biasa ditampilkan seperti spreadsheet.

Tabel adalah bentuk paling dasar dari database. Tabel adalah tempat dimana anda akan meletakan data anda, menentukan tipenya dan juga hubungannya dengan tabel lain. Tabel terdiri dari baris dan kolom.

Baris & Kolom Yang Digunakan Dalam Database

Penggunaan kolom dan baris dalam database

Dalam setiap tabel. Setiap baris biasanya mewakili satu karyawan, siswa, pelanggan, atau pesanan. Pada setiap baris anda harus menerapkan struktur pada data tersebut. Jadi, anda harus menyusun dari apa baris ini tersusun, yaitu dengan mendefinisikan kolom pada tabel tersebut. Setiap kolom menggambarkan satu bagian data, seperti nama, id, email, tanggal lahir, jenis kelamin, tanggal, nomer, atau tipe.

Sekarang, setiap baris harus mengikuti struktur dan format yang sama. Dengan mendefinisikan kolom ini, berarti anda sudah memberlakukan aturan pada data, dan DBMS tidak akan membiarkan anda melanggar aturan tersebut. Singkatnya, kolom menenentukan data apa yang harus ada dalam tabel. Sementara baris adalah pemegang nilai aktual yang akan anda masukkan, perbarui, ambil, dan hapus.

Dalam beberapa kasus, terkadang baris disebut sebagai “tuple”, sedangkan kolom disebut sebagai “atribut”. Kolom sendiri terdiri dari 3 jenis kolom, yaitu:

  1. Simpel
    Hanya berisi satu nilai data
  2. Komposit
    Terdiri dari beberapa nilai data. Misalnya, sebuah nama akan terdiri dari nama depan, nama tengah, dan nama belakang. Atribut komposit akan diuraikan menjadi atribut simpel yang terpisah.
  3. Multi-Valued
    Atribut ini memiliki nilai lebih dari satu pada satu kolom. Misalnya, warna mobil mungkin bisa terdiri dari warna hitam dan merah. Atribut ini akan diekstrak pada tabel lainnya.

Primary Key Dalam Database Sederhana

Penggunaan primary key dalam database

Sekarang, setelah anda memiliki daftar baris yang panjang, anda akan membutuhkan sesuatu yang unik untuk mengidentifikasi setiap baris dan biasa disebut “primary key”. Primary key adalah sebuah kolom unik untuk setiap baris. Mungkin anda akan memiliki lebih dari satu karyawan dengan nama yang sama, tetapi anda tidak dapat memiliki lebih dari satu karyawan dengan primary key yang sama, dan jika anda tetap memaksa untuk membuat primary key yang sama, DBMS tidak akan mengizinkannya.

Biasanya anda akan melihat kolom primary key dengan sebutan ID. Primary key secara default dibuat oleh DBMS, misalnya setiap pelanggan akan secara default memiliki nilai SSN yang unik yang diatur oleh perusahaan. Jadi, setiap SSN secara unik akan mengidentifikasi setiap pelanggan. Namun, pada beberapa tabel yang secara default tidak memiliki primary key, anda dapat menambahkan kolom primary key, dengan menambah satu kolom pada DBMS dengan tanda “auto-increment”.

Auto-increment memungkinkan penambahan angka unik secara otomatis pada setiap baris yang anda buat, Primary Key sangat penting, tidak hanya untuk mengidentifikasi baris secara unik, tetapi juga digunakan untuk menghubungkan antar tabel.

Pengertian Database dan DBMS

Ilustrasi satu database

Database adalah sistem terstruktur untuk menempatkan data anda dan memberlakukan berbagai aturan pada data tersebut, dan aturan itu diatur oleh anda. Karena penting tidaknya masalah data tergantung pada kebutuhan pemiliknya. Mungkin masalah yang anda alami adalah besarnya ukuran data, sementara orang lain memiliki data yang lebih kecil tetapi sensitivitasnya menjadi perhatian utama. Hal-hal yang mungkin tidak terlihat, tetapi terjadi di belakang layar seperti, keamanan, menjaga keutuhan sebuah data, kemampuan untuk mengolah data dengan cepat dan terpercaya, ketahanan data saat digunakan banyak orang pada saat bersamaan, dan juga aman dari gangguan serta masalah yang terjadi pada perangkat keras tanpa merusak data tersebut.

Hal tersebutlah yang perlu kita lakukan disini, memahami bagaimana cara untuk mendeskripsikan struktur yang akan dibuat dan mendefinisikan aturan yang berlaku. Sehingga beberapa hal yang mungkin tidak terlihat dapat benar-benar terjadi.

Ilustrasi Dual Database

Kita sering keliru mengatakan bahwa database kita adalah Oracle, MySQL, SQL Server, MongoDB. Nama-nama tersebut bukanlah database, mereka merupakan sistem manajemen database (DBMS).

DBMS adalah perangkat lunak yang diinstal pada server atau komputer pribadi anda, yang digunakan untuk mengelola satu atau lebih database. Database memiliki data anda yang aktual dan aturan yang berlaku tentang data tersebut, sedangkan DBMS adalah program yang membungkus dan mengelola database tersebut serta aturan yang berlaku. Aturan tersebut bisa berupa tipe data, seperti integer atau string, atau gabungan dari keduanya.

Dalam praktiknya, sangat umum untuk memiliki banyak database, database yang berhubungan dengan pesanan dan informasi pelanggan anda mungkin akan sepenuhnya terpisah dengan database yang berkaitan dengan informasi sumber daya manusia. Di banyak organisasi, mereka mungkin tidak hanya memiliki banyak database, tetapi juga memliki banyak DBMS, karena terkadang salah satu DBMS mempunyai kelebihan daripada yang lain pada salah satu kategori.

Ada berbagai DBMS, yang dikategorikan dalam:
• Sistem Manajemen Database Relasional
• Sistem Database Hirarkis
• Sistem Database Jaringan
• Sistem Database Object-Oriented
• Sistem Datbase NoSQL

Banyak organisasi fokus pada Sistem Manajemen Database Relasional (RDBMS) karena sistem tersebut adalah yang paling umum digunakan, prinsip-prinsip database tersebut dapat diimplementasikan pada sistem lainnya, dan merupakan pembelajaran awal untuk sistem NoSQL.

Sebagian orang yang sudah padaham mengenai konsep dasar database dan hubungan antar database akan menggunakan sistem tersebut sebagai penjelasan tentang sistem NoSQL. Contoh RDBMS yang sering digunakan adalah Oracle, MySQL, SQL Server, SQLite,DB2, dll. Secara garis besar DBMS merupakan perangkat lunak yang digunakan untuk mengelola database itu sendiri, setelah mengetahui perbedaan keduanya kita dapat memahami dasar-dasar database dan cara mengelolanya.

Kapan Kita Membutuhkan Database?

Sebelum melompat lebih jauh tentang database, dan fitur-fitur di dalamnya, kita akan mulai dengan alasan mengapa kita membutuhkan database, karena pada awalnya database memang dirancang untuk menyelesaikan masalah.

Mengapa kita membutuhkan database?

Ketika kita memiliki sejumlah data, dan kita ingin menyimpan data ini disuatu tempat. Data ini bisa berupa apa saja, bisa jadi tentang produk, karyawan, pelanggan, pesanan, dan lain-lain. Data ini juga bisa dalam berbagai format, seperti teks, tanggal, numerik, file dokumen, gambar, video, atau audio.

Sebagai contoh, saat kita memiliki data pelanggan di sebuah perusahaan, hal pertama yang kita pikirkan adalah untuk membuka spreadsheet. Kemudian mulai menuliskan apapun yang perlu disimpan, bisa jadi nama pelanggan, alamat, posisi, id dan sebagainya. Kita dapat menambahkan sebanyak mungkin data pelanggan, menghapus salah satunya, atau bahkan mengubahnya.

Database sederhana
Mungkin ini yang kalian pikirkan ketika mendengar kata database

Sekarang, kita memiliki beberapa jenis data yang tersimpan dalam spreadsheet sesuai kebutuhan kita. Itu mungkin cukup, karena hanya dengan memiliki sejumlah data bukanlah alasan yang tepat untuk memiliki sebuah database, dan itu bukanlah alasan utama. Masalahnya adalah apa yang terjadi selanjutnya, dan banyaknya potensi masalah yang akan terjadi.

Bagaimana jika kita memiliki data yang banyak, mungkin 10.000 pelanggan, apakah kita akan scroll terus spreadsheet kebawah sampai ke pelanggan 9999?!

Bagaimana keamanannya, apakah kita peduli jika ada orang lain yang dapat mengakses data kita?

Bagaimana jika secara tidak sengaja kita menaruh informasi yang sama, apakah boleh memiliki informasi yang sama pada spreadsheet?

Hal diatas membawa kita ke pertanyaan selanjutnya; Kapan kita benar-benar membutuhkan database?

Kita harus mempertimbangkan masalah berikut:

Ukuran

Kita mungkin memiliki ribuan bahkan jutaan baris pelanggan, atau informasi apapun.

Ketepatan

Ketika kita memasukkan data yang salah, spreadsheet mungkin akan mengabaikannya.

Keamanan

Jika data sensitive, dan kita perlu membatasi akses ke data itu untuk beberapa orang saja. Selain itu kita perlu tahu siapa saja yang membuat perubahan pada data tersebut.

Redundansi

Mempunyai banyak informasi yang sama dari data yang sama dapat menimbulkan konflik, kita memperlukan data unik yang tidak bisa diulang.

Pentingnya

Berbagai informasi penting tidak boleh hilang saat terjadi disconnect bahkan crash, seperti pesanan pelanggan, alergi pasien, pemesanan penerbangan dll.

Overwriting (Menimpa)

Mungkin akan lebih dari satu orang bekerja pada data yang sama, bisa 10 orang atau bahkan 100 orang sekaligus, dan semua orang melakukan perubahan sekaligus.

Jika masalah diatas menjadi pertimbangan kita untuk menjaga agar data tetap aman, terpelihara dan dapat diandalkan, mungkin saat ini kita sudah membutuhkan database.