Fitur Bersponsor Mengelola dan memelihara database SQL Server yang besar di rumah bisa jadi rumit, dan sebagian besar administrator database (DBA) akan dengan senang hati menerima semua bantuan yang bisa mereka dapatkan. Ketertarikan untuk beralih ke database relasional terkelola di cloud secara konsekuen meningkat karena perusahaan menghitung biaya tugas manajemen yang rumit dan biaya lisensi yang lumayan. Namun masih ada kekhawatiran mengenai biaya dan kerumitan migrasi.
Tahun lalu, Amazon Web Services (AWS) meluncurkan Babelfish untuk Amazon Aurora PostgreSQL-Compatible Edition, sebuah kemampuan yang memperlancar transisi antara SQL Server dan Amazon Aurora, sistem manajemen basis data relasional (RDBMS) yang dibuat untuk cloud dengan kompatibilitas penuh MySQL dan PostgreSQL . Jadi, apa itu Babelfish, bagaimana ini bisa membantu memudahkan migrasi SQL Server, dan mengapa Anda ingin melakukan lompatan?
Administrator basis data (DBA) telah bergelut dengan sistem RDBMS lokal selama beberapa dekade, tetapi angka menunjukkan bahwa mereka semakin bersedia memindahkan beban kerja tersebut ke cloud untuk meringankan beban administratif.
Misalnya, menurut tahun 2020 survei IDC dari lebih dari 400 profesional data di Amerika Utara, 68 persen percaya bahwa pandemi global telah mempercepat migrasi database lokal ke cloud. Jumlah yang sama (63 persen) melaporkan bahwa mereka secara aktif memigrasikan data ke cloud, dengan hampir sepertiga (29 persen) berencana untuk mulai melakukannya dalam waktu tiga tahun.
Itu Laporan Sorotan Teknologi IDC juga mencatat bagaimana Babelfish memungkinkan aplikasi dan data mengikuti jalur migrasi yang cepat dan relatif mudah dari lokal ke cloud dengan model lift and shift. Pendekatan itu juga dapat digunakan untuk mengatasi kekhawatiran yang tersisa atas jumlah kerja keras yang terlibat dalam memindahkan SQL Server di luar lokasi.
Opsi migrasi cloud untuk Microsoft SQL Server
Ada tiga cara untuk menjalankan beban kerja SQL Server di AWS. Opsi satu adalah bagi pelanggan untuk menjalankan database mereka pada instans Windows EC2, memberikan lisensi mereka sendiri untuk SQL Server. Opsi kedua adalah membeli Windows dan SQL Server dari AWS. Pelanggan dapat membeli lisensi mereka dari AWS, atau membawa lisensi mereka sendiri, dan mereka harus mengelola sendiri sistem operasi dan SQL Server. Ini memberi mereka beberapa keuntungan, seperti menghindari biaya modal di server dan penyimpanan mereka sendiri.
Opsi ketiga adalah menjalankan dengan layanan terkelola AWS, solusi Amazon Relational Database Service (Amazon RDS), yang mengelola komputasi dan penyimpanan, membuat pelanggan bebas untuk fokus pada pengoptimalan aplikasi dan nilai bisnis. Ini termasuk lisensi untuk perangkat lunak yang bersumber dari Amazon dan ditawarkan sebagai bagian dari harganya.
Namun, banyak pelanggan menyukai ide mesin RDBMS sumber terbuka bebas lisensi di cloud. Di sinilah Aurora masuk. Diluncurkan pada 2014 dengan kompatibilitas MySQL, layanan terkelola diperluas dengan penawaran PostgreSQL tiga tahun kemudian. Kompatibilitas sumber terbuka Aurora memungkinkan AWS untuk mengeluarkan lisensi dan menawarkannya dengan sistem bayar sesuai penggunaan, mengenakan biaya untuk pengoperasian per jam.
Model bayar sesuai penggunaan membantu mengurangi biaya lisensi, jelas Richard Waymire, Manajer Senior Manajemen Produk untuk Aurora PostgreSQL di AWS. “Dampak terbesar adalah tidak berkomitmen pada kesepakatan besar jika Anda pindah ke RDS,” katanya. “Anda tidak perlu menandatangani perjanjian multi-tahun dengan inti berlisensi minimum.”
Manajemen basis data bebas gesekan
Sebagai mantan DBA, Waymire menghargai daya tarik untuk beralih dari SQL Server lokal ke sistem terkelola.
“Ada hal-hal yang harus Anda lakukan untuk mengelola dan menjalankan database yang sebenarnya tidak menambah nilai bisnis apa pun,” ujarnya. Ini termasuk pencadangan harian, termasuk pencadangan log, yang diperlukan untuk mendukung kemampuan pemulihan berkelanjutan. Pengguna SQL Server lokal juga harus memastikan bahwa perangkat lunak database itu sendiri memiliki pembaruan keamanan dan keandalan terbaru.
AWS menangani tugas tersebut untuk pengguna Aurora. Hal ini memungkinkan DBA untuk fokus pada pekerjaan bernilai tambah seperti memperbarui skema, mengoptimalkan kinerja, membuat indeks yang sesuai, dan bekerja dengan pengembang untuk menyempurnakan aplikasi mereka.
Kenyamanan penawaran terkelola juga dilengkapi dengan peningkatan kinerja transaksi. “Migrasi dari SQL Server ke Aurora ditingkatkan untuk beban kerja yang tepat,” jelas Waymire. Perusahaan memungkinkan pelanggan untuk memperluas daya komputasi basis data yang tersedia sesuai permintaan. Ini juga mendukung hingga 15 replika baca yang mengakses penyimpanan fisik yang sama. Replika ini memungkinkan aplikasi untuk meningkatkan pembacaan basis data mereka sesuai permintaan, menghindari kemacetan basis data.
Meskipun organisasi tertarik dengan manfaat ini, mereka masih khawatir dengan biaya dan kerumitan migrasi. Tidak seperti PostgreSQL, SQL Server menggunakan dialek SQL yang disebut T-SQL, bersama dengan protokol tingkat kabelnya sendiri, Tabular Data Stream (TDS).
AWS Data Migration Service (AWS DMS) akan mendukung migrasi untuk penerapan like to like atau ke database lain, seperti SQL Server ke Aurora. Penyedia cloud juga menawarkan Alat Konversi Skema AWS (AWS SCT) untuk mengonversi skema database antara mesin yang berbeda, tetapi pelanggan masih harus menulis ulang kode aplikasi SQL Server untuk bekerja dengan Aurora PostgreSQL.
Babelfish berenang ke tampilan
Amazon meluncurkan solusinya untuk masalah ini pada konferensi re:Invent pada Desember 2020. ikan babel mempercepat migrasi antara SQL Server dan Aurora PostgreSQL dengan menangani konversi di tingkat aplikasi. Layanan itu sendiri bukanlah alat migrasi; Aurora PostgreSQL sendiri telah diperluas untuk memahami spesifikasi TDS yang dirilis Microsoft di bawah pengaturan Janji Spesifikasi Terbuka pada tahun 2008.
“Sebagian besar bisnis kami adalah migrasi komersial,” kata Waymire. Tujuannya adalah untuk membiarkan orang memindahkan database ke PostgreSQL untuk berhenti membayar biaya lisensi.” Babelfish membantu pelanggan melakukannya dengan cepat tanpa harus menulis ulang aplikasi mereka sepenuhnya. Mereka dapat terus menjalankan aplikasi tersebut dengan Babelfish atau memigrasikannya ke aplikasi PostgreSQL asli di masa mendatang .
Babelfish menghilangkan perbedaan saat menjalankan aplikasi SQL Server terhadap Aurora PostgreSQL. Misalnya, Aurora dan SQL Server membulatkan ke tingkat presisi yang berbeda saat menggunakan tipe data UANG asli di setiap basis data. Itu bisa menghasilkan hasil yang berbeda antara aplikasi yang menangani kedua platform. Babelfish menambahkan tipe data baru untuk MONEY yang kompatibel dengan ekspektasi pengguna SQL Server.
Pra-Babelfish, alur kerja migrasi tipikal dari SQL Server ke Aurora PostgreSQL akan melibatkan menjalankan AWS SCT untuk mengonversi skema SQL Server ke PostgreSQL. Setelah itu, pelanggan akan menggunakan AWS DMS untuk mentransfer data ke Aurora, dan selanjutnya memvalidasi bahwa database berfungsi. Kemudian datang tugas yang sangat berat: menulis ulang aplikasi mereka agar kompatibel dengan Aurora PostgreSQL, sebuah proses yang masih merupakan teknik migrasi yang sesuai untuk beberapa pelanggan.
Dengan Babelfish, hanya dua langkah pertama yang diperlukan. Alih-alih menulis ulang, perusahaan dapat dengan mudah mengarahkan aplikasi mereka ke Babelfish dan kemudian mengujinya. Babelfish diluncurkan dengan dukungan untuk kasus penggunaan migrasi database yang paling umum, mengembalikan kesalahan ke aplikasi jika tidak mendukung operasi.
AWS telah menghabiskan waktu sejak peluncuran awal pada tahun 2020 memperluas kasus penggunaan migrasi tersebut untuk mendukung lebih banyak operasi dan meningkatkan kompatibilitas, yang berarti bahwa pengembang mungkin tidak memerlukan modifikasi sama sekali, kata Waymire.
Membuka lebih banyak pilihan pengembangan
AWS menginginkan Babelfish sebagai batu loncatan untuk migrasi, memungkinkan pelanggan menjalankan aplikasi SQL Server melawan Aurora PostgreSQL dengan cepat. Setelah ini tercapai, mereka dapat mengembangkan kode mereka secara asli terhadap layanan PostgreSQL yang dikelola daripada mengkode untuk T-SQL.
“Anda telah membuat keputusan migrasi untuk pergi ke PostgreSQL, jadi jangan memperpanjang waktu Anda di ekosistem itu,” saran Waymire. “Anda dapat melakukannya jika pengembang Anda belum terlatih dalam teknologi open source, tetapi hal itu menimbulkan hutang teknis tambahan.”
Waymire berharap pelanggan akan memperluas jangkauan mereka ke teknologi database lain yang masuk akal. Lisensi SQL Server cenderung menyimpan seluruh beban kerja di dalam model relasional, tetapi pelanggan yang membayar sesuai penggunaan memiliki lebih banyak fleksibilitas. Mereka dapat membagi beban kerja pasca-migrasi mereka antara mesin relasional dan NoSQL, jelasnya.
“Jika pelanggan tidak senang dengan perjanjian lisensi komersial, seringkali sulit untuk mengubahnya,” katanya. Pelanggan biasanya dikunci untuk jangka waktu tertentu. “Tetapi dengan layanan terkelola, Anda dapat mengalihkan beban kerja di antara berbagai teknologi sesuai kebutuhan.”
Pelanggan yang berpindah dari SQL Server mungkin mengalihkan beberapa data mereka ke Aurora PostgreSQL misalnya, tetapi mungkin lebih memilih untuk memindahkan fungsionalitas aplikasi seluler mereka ke DynamoDB Amazon, yang merupakan penyimpanan nilai kunci. Karena Anda tidak terikat pada komitmen lisensi jangka panjang, mudah untuk dipadupadankan.
Masih kurva belajar
Pengembang yang pindah ke platform Aurora PostgreSQL yang diberdayakan oleh Babelfish dapat bangkit dan berjalan dengan cepat, tetapi Waymire memperingatkan bahwa mereka masih harus melakukan beberapa penyesuaian. Mereka harus meluangkan waktu untuk memahami model tanggung jawab keamanan bersama misalnya, memastikan bahwa aplikasi mereka aman di cloud.
Demikian pula, meskipun AWS mengelola database, tetap penting untuk mengelola beberapa tugas internal seperti menguji prosedur tersimpan dan mempraktikkan pemulihan secara teratur. Mereka juga harus belajar bagaimana berinteraksi dengan platform database baru di berbagai bidang seperti penyetelan dan pengoptimalan.
Terlepas dari kurva pembelajaran ini, biaya dan manfaat manajemen jangka panjang untuk layanan tersebut jelas. Dan Babelfish tidak akan pergi, kata Waymire.
AWS merilis Babelfish ke open source tahun lalu, memenuhi janji yang dibuat saat peluncuran. Ini memungkinkan pelanggan untuk memperpanjangnya sendiri. Ini adalah tanda yang jelas bahwa perusahaan berkomitmen untuk layanan kecil yang dapat dilakukan, dia menyimpulkan: “Kami berada di Babelfish untuk jangka panjang.”
Disponsori oleh AWS.