Akaun awan Microsoft Azure membeli ejen pengisian dan bercakap mengenai pangkalan data diedarkan global: bagaimana saya menggunakan Cosmos DB untuk menangkap operasi dan penyelenggaraan dari "lubang api"

Awan 2026-10-20 阅读 2
cloud

Rakan-rakan yang telah melakukan seni bina awan asli dan perniagaan global mungkin telah mengalami saat-saat gelap yang membuat kulit kepala mati rasa:

Pada pukul tiga pagi waktu Beijing, telefon bimbit bergetar liar, dan sistem pemantauan membunyikan penggera tingkat tertinggi-"Kelewatan akses pengguna Eropah melambung tinggi", "Konflik serius dalam penyegerakan data antara wilayah", "CPU pangkalan data utama melonjak hingga 100% tanpa respons." Pada masa ini, anda bangun dengan lingkaran hitam di bawah lingkaran hitam, menyambung ke VPN, dan mula menghadapi sekumpulan strategi sub-pangkalan data dan sub-jadual yang mempesona, kelewatan penyegerakan master-hamba, kehilangan Binlog, dan indeks yang tidak pernah dapat disesuaikan.

Pembelian dan tambah nilai akaun awan Microsoft Azure secara wakil

Sejujurnya, ketika seni bina pangkalan data tradisional menghadapi globalisasi sebenar dan perniagaan serentak yang tinggi, kos operasi dan penyelenggaraan hanyalah lubang dasar.

Beberapa ketika yang lalu, saya minum dengan beberapa rakan lama yang melakukan struktur, dan semua orang masih mengeluh: "Bilakah akan ada pangkalan data yang dapat menyegerakkan data ke seluruh pelosok dunia dengan santai, tanpa perlu bimbang tentang pemecahan, pengembangan dan kunci setiap hari. konflik?" Sebenarnya, dalam beberapa tahun kebelakangan ini, semua orang telah mencuba pelbagai penyelesaian dalam persekitaran pengeluaran, dari kelompok MySQL/PostgreSQL yang dibina sendiri hingga pelbagai sumber terbuka NoSQL yang diedarkan. Akhirnya, mereka mendapati bahawa jika anda ingin menggabungkan dua perkataan "diedarkan secara global" dan "operasi dan penyelenggaraan yang sangat pantas" Benar-benar mendarat,

Azure Cosmos DB

Boleh dikatakan sebagai satu penanda aras yang tidak dapat dielakkan.

Hari ini, saya tidak akan membincangkan kertas putih rasmi yang tidak jelas dan rajah seni bina kering. Dari perspektif juruteknik lini pertama, saya ingin bercakap dengan anda mengenai bagaimana Cosmos DB membantu kami memanfaatkan pengalaman operasi dan penyelenggaraan NoSQL yang diedarkan secara global.

Pertama, Kesakitan Tradisional dalam Model Pengedaran Global: Mengapa anda sentiasa bekerja lewat malam?

Sebelum kita membincangkan Cosmos DB, mari kita lihat terlebih dahulu di mana letaknya kelemahan dalam penyelesaian tradisional.

Pembelian dan tambah nilai akaun awan Microsoft Azure secara wakil

Katakan perniagaan anda pergi ke luar negara dan pengguna tersebar di Amerika Utara, Eropah dan Asia Tenggara. Bagi memastikan pengguna tempatan mendapat pengalaman akses yang lancar, anda mesti menempatkan nod pangkalan data di peringkat tempatan. Pada ketika ini, masalah pun muncul:

Kelewatan penyelarasan data dan pertindihan (Split-Brain): Kelewatan fizikal pada kabel optik rentas sempadan adalah satu keadaan yang wujud secara objektif. Sekiranya pengguna AS dan pengguna Eropah mengubah data yang sama pada masa yang sama, bagaimana anda menyelesaikan konflik? Adakah ia ditimpa mengikut cap masa? Masih mahu menulis logik pampasan perniagaan yang rumit?

Pengembangan kapasiti setanding dengan "operasi besar": perniagaan tiba-tiba pecah, dan satu mesin tidak dapat menahannya. Adakah kita perlu melaksanakan pengasingan pangkalan data dan jadual? Mengubah kod, memindahkan data, melakukan pengesahan konsistensi data, dan melangkah ke lubang adalah kemalangan pengeluaran.

Lubang hitam untuk pemantauan operasi dan penyelenggaraan: Sekiranya terdapat lebih banyak nod, permukaan operasi dan penyelenggaraan akan rosak. Cakera pada nod yang mana sudah penuh? Rangkaian pada nod yang mana mengalami gegaran? Kakitangan operasi dan penyelenggaraan sahaja sudah berasa sangat letih setiap hari hanya dengan memantau pelbagai papan pemuka pemantauan.

Apa yang kita perlukan bukanlah lebih banyak parameter konfigurasi, tetapi

Di luar kotak, skala global dan pengalaman "tanpa operasi dan penyelenggaraan" yang sebenar

.

II. Memahami Azure Cosmos DB: Apakah yang membolehkannya mencapai “pengurusan dan operasi yang sangat pantas”?

”?

Mereka yang pertama kali menggunakan Azure Cosmos DB seringkali terkejut dengan beberapa ciri utamanya. Menggabungkan pengalaman pendaratan sebenar kami dalam beberapa tahun kebelakangan ini, ia mempunyai beberapa ciri pembunuh dalam operasi dan penyelenggaraan:

1. "Di mana klik tetikus, di mana data" yang sebenar: Pelbagai aktiviti global dan salinan satu klik

Dalam seni bina tradisional, jika pusat data luar negeri ditambahkan, pasukan DBA harus merancang rangkaian, menggunakan contoh, dan mengkonfigurasi pautan salinan beberapa minggu sebelumnya.

Manakala di portal Azure Cosmos DB, situasinya menjadi amat pantas dan elegan:

Di ruang komputer negara/wilayah mana yang anda suka, klik dan simpan secara langsung di peta. Dalam beberapa minit, data global akan diselaraskan secara automatik.

Multi-Master: Ia bukan sahaja menyokong multi-membaca global, tetapi juga menyokong multi-penulisan global. Ini bermaksud bahawa pengguna Amerika Utara menulis nod Amerika, pengguna Eropah menulis nod Eropah, dan lapisan bawah secara automatik membantu anda melalui kawalan serentak pelbagai versi (MVCC) dan strategi penyelesaian konflik.

Pembebasan operasi dan penyelenggaraan: Anda tidak perlu menulis skrip untuk memantau kelewatan tuan-hamba, dan anda tidak perlu risau tentang gangguan perniagaan yang disebabkan oleh penutupan nod di kawasan tertentu. Ia dilengkapi dengan SLA yang sangat tersedia (seperti jaminan ketersediaan 99,999%), bagaimana melakukan pemulihan bencana di lapisan bawah, bagaimana melakukan kelebihan data, vendor awan merangkumi semua.

2. Selamat tinggal kepada mimpi ngeri DBA: Pengindeksan Automatik (Automatic Indexing)

Sesiapa yang telah menulis NoSQL tahu bahawa walaupun strukturnya fleksibel, jika pertanyaan perniagaan berubah dan indeks tidak dibina, keseluruhan jadual akan diimbas dalam beberapa minit untuk menutup pangkalan data.

Pembelian dan tambah nilai akaun awan Microsoft Azure secara wakil

NoSQL tradisional sering memerlukan DBA untuk menganalisis pernyataan pertanyaan secara manual, dan merancang indeks sekunder dan indeks komposit dengan teliti.

Cosmos DB melakukan perkara yang sangat "kejam" tetapi sangat mesra untuk pembangunan dan operasi dan penyelenggaraan:

Secara lalai, semua sifat semua data diindeks secara automatik (Maklumat Schema-agnostic).

Pembangunan yang baik: Anda menyimpan dokumen JSON, yang menambahkan bidang baru di dalamnya, tanpa mengubah definisi pangkalan data, anda boleh menggunakannya secara langsung untuk pertanyaan bersyarat WHERE.

Pengendalian lancar: Langsung tidak perlu melakukan pengoptimuman pada indeks B-Tree. Walaupun menggunakan sejumlah ruang penyimpanan di latar belakang untuk mengekalkan indeks, untuk kakitangan operasi dan penyelenggaraan, kehilangan penggera yang disebabkan oleh "indeks yang hilang" bermaksud hidup kurang dari sepuluh tahun.

3. Prestasi boleh diramal pada tahap milisaat: Kawalan terperinci dalam unit permintaan (RU/s)

Dalam era awan, keseimbangan kos dan prestasi akan sentiasa menjadi KPI teras operasi dan penyelenggaraan. Cosmos DB telah memperkenalkan

RU/s (Unit Permintaan)

Konsep tersebut.

Sama ada pertanyaan anda membaca Nilai Kunci yang mudah, atau melakukan pertanyaan bersama SQL yang kompleks, ia boleh menggunakan berapa banyak RU dengan tepat.

Anda boleh untuk setiap bekas(C

kontena) malah keseluruhan tetapan pangkalan data mengawal keluaran. Ia tidak hanya menyokong penyesuaian manual, tetapi juga menyokong penskalaan automatik (Autoscale)-RU secara automatik ditarik semasa tempoh puncak perniagaan, dan tempoh malam yang rendah secara automatik diturunkan, dan tagihan tidak akan sia-sia.

Dengan mod tanpa pelayan, untuk perniagaan kecil atau persekitaran ujian dengan lalu lintas yang sangat tidak teratur, ia benar-benar mencapai "bayar mengikut jumlah permintaan yang sebenarnya, tanpa mengeluarkan wang."

3. Panduan untuk mengelakkan lubang dalam persekitaran pengeluaran: pertukaran di sebalik operasi dan penyelenggaraan yang sangat pantas

Walaupun Cosmos DB telah mencapai pengalaman operasi dan penyelenggaraan yang terbaik, sebagai veteran yang telah merangkak di lubang berkali-kali, saya ingin mengingatkan semua orang:

Tiada struktur yang sempurna, hanya terdapat struktur yang paling sesuai untuk sesuatu keadaan.

Pengurusan operasi yang sangat pantas tidak bermaksud anda boleh langsung mengabaikannya.

1. Pemilihan tahap konsistensi adalah suatu seni.

Hukum fizikal terbesar bagi pangkalan data teragih ialah

Teorem CAP

. Cosmos DB menawarkan 5 tahap yang berbeza dari konsistensi yang kuat (Strong) hingga konsistensi akhir (Eventual).

Sekiranya perniagaan anda adalah pembayaran kewangan, tidak ada ruang untuk halusinasi, anda harus memilih konsistensi yang kuat, tetapi ini akan membawa kelewatan yang lebih tinggi dan prestasi yang lebih rendah.

Sekiranya perniagaan anda adalah dinamika sosial, suka, statistik paparan halaman, jangan ragu untuk memilih Sesi atau Konsistensi Akhir.

Pembelian dan tambah nilai akaun awan Microsoft Azure secara wakil

Cadangan pengurusan operasi: Jangan mengejar “keseragaman yang ketat” secara membuta tuli. Pisahkan wadah mengikut segmen perniagaan tertentu, dan letakkan perniagaan dengan syarat konsistensi yang rendah pada tahap konsistensi yang longgar, yang dapat meningkatkan throughput sistem anda secara geometri.

2. Reka bentuk kunci bahagian (Partition Key) menentukan kelangsungan hidup.

Dalam dunia NoSQL, kunci partisi adalah kunci utama anda. Sekiranya kunci partisi tidak dipilih dengan baik (misalnya, tekan "negara", dan 90% pengguna berada di China), ia akan menyebabkan

Pengecaman Titik Panas (Hot Spotting)

: CPU dan RU partisi fizikal yang mendasari penuh, sementara partisi lain panik.

Cadangan operasi dan penyelenggaraan: Pada peringkat awal reka bentuk seni bina, anda mesti memilih kunci partisi dengan pasukan pembangunan. Medan frekuensi tinggi dan serentak tinggi (seperti userId atau segmen digital asas tinggi) biasanya merupakan pilihan yang ideal untuk memastikan bahawa data disebarkan secara merata ke pelbagai nod fizikal di seluruh dunia.

Empat, Catatan Terakhir

Melihat ke belakang, generasi kita yang melakukan operasi dan penyelenggaraan pengkomputeran awan dan sistem sangat bertuah.

Pada masa lalu, sebahagian besar tenaga kita dihabiskan untuk operasi dan penyelenggaraan mesin yang mendasari, pengembangan cakera, dan cara memperbaiki "kerja kotor" ini secara manual ketika tuan dan hamba digantung secara serentak. Nilai teras pangkalan data NoSQL yang diedarkan secara global seperti Azure Cosmos DB sebenarnya terletak pada kerumitan operasi dan penyelenggaraan pangkalan data tradisional.

Ia memerlukan DBA besar untuk fleksibiliti global, pengembangan fleksibel, indeks automatik, dan toleransi bencana yang tinggi

Teknologi kompleks yang hanya dapat dilakukan oleh pasukan dimasukkan ke dalam beberapa butang mudah dan API intuitif.

Biarkan pangkalan data kembali ke data itu sendiri, membebaskan operasi dan penyelenggaraan dari kegagalan yang rumit dan mendasari untuk memberi tumpuan kepada seni bina perniagaan, inilah yang seharusnya ada di era awan. Lain kali anda menemui penggera larut malam, mungkin anda boleh memikirkannya: Perlukah kita memindahkan struktur lama itu ke ekologi awan yang benar-benar global?

Pembelian dan tambah nilai akaun awan Microsoft Azure secara wakil

cloud
← 返回新闻中心