Praktik terbaik untuk mengimplementasikan sistem basis data hibrida - Amazon DynamoDB

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Praktik terbaik untuk mengimplementasikan sistem basis data hibrida

Dalam beberapa keadaan, migrasi dari satu atau lebih sistem manajemen basis data relasional (RDBMS) ke Amazon DynamoDB mungkin tidak menguntungkan. Dalam kasus tersebut, mungkin lebih baik untuk membuat sistem hibrida.

Jika Anda tidak ingin memigrasikan semuanya ke DynamoDB

Misalnya, beberapa organisasi memiliki investasi besar dalam kode yang menghasilkan banyak laporan yang diperlukan untuk akuntansi dan operasional. Waktu yang dibutuhkan untuk menghasilkan laporan tidak penting bagi mereka. Fleksibilitas sistem relasional sangat cocok untuk tugas semacam ini, dan membuat kembali semua laporan tersebut dalam SQL konteks Tidak mungkin sangat sulit.

Beberapa organisasi juga mempertahankan berbagai sistem relasional lama yang telah mereka peroleh atau warisi selama beberapa dekade. Memigrasikan data dari sistem ini mungkin terlalu berisiko dan mahal untuk membenarkan upaya tersebut.

Namun, organisasi yang sama kini mungkin menyadari bahwa operasi mereka bergantung pada situs web yang berhubungan dengan pelanggan dengan lalu lintas tinggi, dan respons milidetik sangat penting. Sistem relasional tidak dapat memenuhi persyaratan ini kecuali dengan biaya yang besar (dan sering kali tidak dapat diterima).

Dalam situasi ini, jawabannya mungkin dengan membuat sistem hibrida, yaitu DynamoDB menciptakan tampilan data terwujud yang disimpan dalam satu atau beberapa sistem relasional dan menangani permintaan lalu lintas tinggi terhadap tampilan ini. Jenis sistem ini berpotensi mengurangi biaya dengan menghilangkan perangkat keras server, pemeliharaan, dan RDBMS lisensi yang sebelumnya diperlukan untuk menangani lalu lintas yang menghadap pelanggan.

Cara penerapan sistem hibrida

DynamoDB dapat memanfaatkan DynamoDB Streams dan AWS Lambda untuk mengintegrasikan secara mulus dengan satu atau lebih sistem database relasional yang ada:

Diagram yang menggambarkan bagaimana mengintegrasikan DynamoDB dengan sistem yang ada. SQL

Sistem yang mengintegrasikan DynamoDB Streams dan AWS Lambda dapat memberikan beberapa keuntungan:

  • Sistem dapat beroperasi sebagai cache persisten tampilan terwujud.

  • Hal ini dapat diatur untuk mengisi secara bertahap dengan data sebagai data yang diminta untuk, dan sebagai data dimodifikasi dalam SQL sistem. Artinya, seluruh tampilan tidak perlu diisi sebelumnya. Sebagai hasilnya, kapasitas throughput yang disediakan lebih mungkin digunakan secara efisien.

  • Sistem memiliki biaya administrasi yang rendah dan sangat tersedia serta dapat diandalkan.

Agar integrasi semacam ini dapat diimplementasikan, pada dasarnya tiga jenis interoperasi harus disediakan.

Coding diperlukan untuk mengintegrasikan DynamoDB dengan sistem yang ada. SQL
  1. Isi cache DynamoDB secara bertahap. Saat sebuah item dikueri, cari terlebih dahulu di DynamoDB. Jika tidak ada, cari di SQL sistem, dan muat ke DynamoDB.

  2. Tulis melalui cache DynamoDB. Ketika pelanggan mengubah nilai di DynamoDB, fungsi Lambda dipicu untuk menulis data baru kembali ke sistem. SQL

  3. Perbarui DynamoDB dari sistem. SQL Ketika proses internal seperti manajemen inventaris atau penetapan harga mengubah nilai dalam SQL sistem, prosedur tersimpan dipicu untuk menyebarkan perubahan ke tampilan terwujud DynamoDB.

Operasi ini sangat mudah, dan tidak semuanya diperlukan untuk setiap skenario.

Solusi hibrida juga dapat berguna ketika Anda ingin mengandalkan DynamoDB, tetapi Anda juga ingin mempertahankan sistem relasional kecil untuk kueri satu kali, atau untuk operasi yang memerlukan keamanan khusus atau yang tidak kritis terhadap waktu.