Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Pertimbangkan basis data yang dibuat khusus
Gambaran Umum
Salah satu aspek paling mahal dalam menjalankan beban kerja berbasis Microsoft berasal dari lisensi database komersial, seperti SQL Server. Bisnis sering melakukan standarisasi pada SQL Server sebagai platform database pilihan dan menjadi mendarah daging dalam budaya pengembangan organisasi. Pengembang umumnya memilih model berbasis SQL Server relasional terlepas dari kasus penggunaannya. Alasan meliputi:
-
Bisnis sudah memiliki instans dan/atau lisensi SQL Server yang tersedia.
-
Tim telah terbiasa dengan model pemrograman SQL melalui penggunaan perpustakaan bersama, ORMs, dan logika bisnis.
-
Manajemen tidak menyadari alternatif.
-
Pengembang tidak mengetahui alternatif.
Database yang dibuat khusus dapat mengakomodasi pola akses data kasus penggunaan Anda. Basis data ini semakin diadopsi oleh bisnis karena mereka mengadopsi arsitektur yang lebih modern (seperti layanan mikro) dan sebagai ruang lingkup aplikasi individu yang sempit.
Database yang dibuat khusus tidak menghalangi model relasional, atau memerlukan model NoSQL (non-relasional). Bahkan, database relasional dianggap dibangun khusus ketika dipilih sebagai respons terhadap kebutuhan spesifik beban kerja. Penggunaan database yang dibuat khusus dapat membantu tim untuk mengurangi biaya database yang terkait dengan aplikasi .NET mereka, sementara juga mendapatkan manfaat cloud standar, seperti skalabilitas, ketahanan, dan pengurangan angkat berat yang tidak berdiferensiasi.
Tabel berikut menunjukkan basis data yang dibuat khusus yang ditawarkan oleh. AWS
Basis Data | Tipe | Karakteristik |
---|---|---|
Amazon Aurora PostgreSQL atau Amazon Aurora MySQL | Relasional | Gunakan kasus di mana data memiliki struktur tetap Database relasional secara alami menjaga konsistensi data melalui transaksi ACID |
Amazon DynamoDB |
Pasangan nilai kunci | Database NoSQL yang menyimpan data menggunakan struktur data tabel hash Penyimpanan kinerja tinggi dan pengambilan data tidak terstruktur Kasus penggunaan termasuk profil pengguna, status sesi, dan data keranjang belanja |
Amazon ElastiCache |
Dalam memori | Database NoSQL berkinerja tinggi yang menyimpan data tidak terstruktur dalam memori dengan waktu akses sub-milidetik Digunakan untuk data fana yang sering diakses seperti sesi pengguna, dan sebagai lapisan caching di depan penyimpanan data lain yang lebih lambat Termasuk dukungan untuk keduanya ElastiCache (Redis OSS) dan ElastiCache (Memcached) |
Amazon MemoryDB |
Tahan lama dalam memori | Database buatan khusus yang kompatibel dengan Redis dengan penyimpanan yang tahan lama |
Amazon Timestream |
Seri waktu | Database dirancang untuk konsumsi data throughput tinggi dalam urutan temporal Kasus penggunaan termasuk aplikasi Internet of Things (IoT) dan menyimpan metrik atau data telemetri |
Amazon DocumentDB |
Dokumen | Database NoSQL yang menyimpan data tanpa struktur yang ditentukan atau hubungan yang dipaksakan dengan data lain Sering digunakan untuk beban kerja intensif baca seperti katalog produk |
Amazon Neptune |
Grafik | Database NoSQL yang menyimpan data dan representasi koneksi antar item data Kasus penggunaan termasuk deteksi penipuan, mesin rekomendasi, dan aplikasi sosial |
Keyspaces Amazon |
Kolom lebar | Database terdistribusi kinerja tinggi berdasarkan Apache Cassandra Kasus penggunaan termasuk aplikasi IoT, pemrosesan acara, dan aplikasi game |
Pendorong signifikan adopsi basis data yang dibangun khusus dapat dikaitkan dengan penghapusan lisensi komersial. Namun, kemampuan auto-scaling database seperti DynamoDB (termasuk
AWS menawarkan Babelfish untuk Aurora PostgreSQL
Saat memilih database relasional yang dibuat khusus untuk aplikasi, penting untuk mempertahankan fitur yang sama (atau setara secara fungsional) yang Anda perlukan untuk aplikasi Anda. Rekomendasi ini membahas database yang dibangun khusus sebagai penyimpanan data utama untuk aplikasi. Aplikasi khusus (seperti caching) dibahas dalam rekomendasi lain.
Dampak biaya
Mengadopsi basis data yang dibuat khusus untuk beban kerja.NET, meskipun tidak mungkin mempengaruhi konsumsi komputasi/biaya secara langsung, dapat secara langsung mempengaruhi biaya layanan database yang dikonsumsi oleh aplikasi.NET. Bahkan, penghematan biaya mungkin menjadi tujuan sekunder, jika dibandingkan dengan manfaat tambahan kelincahan, skalabilitas, ketahanan, dan daya tahan data.
Ini di luar cakupan panduan ini untuk menjelaskan proses penuh memilih database yang dibangun khusus untuk aplikasi dan merancang ulang strategi data untuk menggunakannya secara efektif. Untuk informasi selengkapnya, lihat Database yang dibuat khusus
Tabel berikut menunjukkan beberapa contoh bagaimana penggantian SQL Server dengan database yang dibangun khusus dapat mengubah biaya aplikasi. Perhatikan bahwa ini hanyalah perkiraan kasar. Benchmark dan optimalisasi beban kerja aktual diperlukan untuk menghitung biaya produksi yang tepat.
Ini adalah beberapa perkiraan database yang dibuat khusus yang umum digunakan yang mencakup komputasi sesuai permintaan dan 100 GB SSD, database instance tunggal di. us-east-1
Biaya lisensi termasuk lisensi SQL Server ditambah jaminan perangkat lunak.
Tabel berikut menunjukkan perkiraan biaya untuk contoh database komersial.
Mesin basis data | Model perizinan | Jenis/spesifikasi instans | AWS menghitung+biaya penyimpanan | Biaya lisensi | Total biaya bulanan |
---|---|---|---|---|---|
SQL Server edisi Standar di Amazon EC2 | Lisensi disertakan | r6i.2xbesar (8 CPU/64 GB RAM) | $1,345.36 | $0,00 | $1,345.36 |
Edisi SQL Server Enterprise di Amazon EC2 | Lisensi disertakan | r6i.2xbesar (8 CPU/64 GB RAM) | $2.834,56 | $0,00 | $2.834,56 |
SQL Server edisi Standar di Amazon EC2 | BYOL | r6i.2xbesar (8 CPU/64 GB RAM) | $644,56 | $456.00 | $1,100.56 |
Edisi SQL Server Enterprise di Amazon EC2 | BYOL | r6i.2xbesar (8 CPU/64 GB RAM) | $644,56 | $1,750.00 | $2.394,56 |
SQL Server edisi Standar di Amazon RDS | db.r6i.2xlarge (8 CPU/64 GB RAM) | $2.318.30 | $0,00 | $2.318.30 | |
Edisi SQL Server Enterprise di Amazon RDS | db.r6i.2xlarge (8 CPU/64 GB RAM) | $3.750,56 | $0,00 | $3.750,56 |
Tabel berikut menunjukkan perkiraan biaya untuk contoh yang dibuat khusus.
Mesin basis data | Jenis/spesifikasi instans | AWS menghitung+biaya penyimpanan | Biaya lisensi | Total biaya bulanan |
---|---|---|---|---|
Amazon Aurora PostgreSQL | r6g.2xbesar (8 CPU/64 GB RAM) | $855,87 | $0,00 | $855,87 |
DynamoDB | Basis yang disediakan 100 WCU/400 RCU | $72,00 | $72,00 | |
Amazon DocumentDB | db.r6i.2xlarge (8 CPU/64 GB RAM) | $778,60 | $778,60 |
penting
Tabel ini didasarkan pada perkiraan biaya lisensi untuk SQL Server dengan Jaminan Perangkat Lunak, selama tiga tahun pertama pembelian. Untuk SQL Server edisi Standar: $4,100, 2 paket inti, 3 tahun. Untuk edisi SQL Server Enterprise: $15.700, paket 2 inti, 3 tahun.
Kami menyarankan Anda mempertimbangkan implikasi biaya sebelum Anda mengadopsi basis data yang dibuat khusus. Misalnya, biaya untuk memperbarui aplikasi untuk menggunakan database yang dibangun khusus terkait dengan kompleksitas aplikasi dan basis data sumber. Pastikan untuk memperhitungkan total biaya kepemilikan saat merencanakan sakelar arsitektur ini. Ini termasuk memfaktorkan ulang aplikasi Anda, meningkatkan keterampilan staf tentang teknologi baru, dan merencanakan kinerja dan konsumsi yang diantisipasi dengan cermat untuk setiap beban kerja. Dari sana, Anda dapat menentukan apakah investasi tersebut sepadan dengan penghematan biaya. Dalam kebanyakan kasus, memelihara suatu end-of-support produk adalah risiko keamanan dan kepatuhan, dan biaya untuk memulihkannya sepadan dengan usaha dan investasi awal.
Rekomendasi pengoptimalan biaya
Untuk aplikasi.NET yang mengakses SQL Server, ada pustaka pengganti untuk database relasional yang dibangun khusus. Anda dapat mengimplementasikan pustaka ini dalam aplikasi Anda untuk menggantikan fungsionalitas aplikasi SQL Server yang serupa.
Tabel berikut menyoroti beberapa pustaka yang dapat digunakan dalam banyak skenario umum.
Perpustakaan | Basis Data | Penggantian untuk | Kompatibilitas kerangka |
---|---|---|---|
Penyedia Inti Kerangka Entitas Npgsql |
Amazon Aurora PostgreSQL | Kerangka Entitas Penyedia Server SQL Inti | .NET modern |
Penyedia Kerangka Entitas Npgsql 6 |
Amazon Aurora PostgreSQL | Kerangka Entitas 6.0 Penyedia Server SQL | .NET Framework |
Npgsql (perpustakaan PostgreSQL kompatibel |
Amazon Aurora PostgreSQL | ADO.NET | .NET Framework/.NET Modern |
Penyedia Inti Kerangka Entitas MySQL |
Amazon Aurora MySQL | Kerangka Entitas Penyedia Server SQL Inti | .NET modern |
Pomelo. EntityFrameworkCore. MySql |
Amazon Aurora MySQL | Kerangka Entitas Penyedia Server SQL Inti | .NET modern |
Menghubungkan ke Amazon Aurora PostgreSQL dengan menggunakan Babelfish
Basis data lain yang dibuat khusus memiliki pustaka untuk mengakses pustaka yang kompatibel .NET yang memungkinkan Anda mengakses basis data yang dibuat khusus. Contohnya termasuk:
-
Menggunakan database Amazon DynamoDB NoSQL (dokumentasi)AWS SDK untuk .NET
-
.NET (dokumentasi Timestream)
-
Menggunakan .NET untuk terhubung ke instans DB Neptunus (dokumentasi Neptunus)
Jika Anda bermigrasi ke basis data bawaan tujuan, Anda dapat menggunakan alat ini AWS untuk membantu proses migrasi:
-
AWS Schema Conversion Tool (AWS SCT)
dapat membantu Anda mengubah skema SQL Server ke Amazon Aurora dan Amazon DynamoDB. -
AWS Database Migration Service (AWS DMS)
dapat membantu Anda memigrasikan data, baik satu kali atau secara berkelanjutan, dari SQL Server ke Aurora atau DynamoDB. -
Babelfish Compass
dapat membantu Anda memeriksa kompatibilitas database SQL Server Anda untuk digunakan dengan Babelfish untuk Aurora PostgreSQL.
Sumber daya tambahan
-
Panduan untuk memigrasi SQL Server ke Amazon Aurora PostgreSQL
(Blog Database)AWS -
Lokakarya Modernisasi .NET (Studio AWS Lokakarya
) -
Hari Perendaman Modernisasi APP Babelfish
(Studio Lokakarya)AWS -
.NET Immersion Day
(Studio AWS Lokakarya) -
Memulai Amazon Timestream dengan.NET
() GitHub -
Database yang dibuat khusus untuk aplikasi.NET modern
pada (presentasi) AWSAWS