DTCC归来-高可用可扩展数据库架构探讨
之前说起 将参加 2010 数据库技术大会,今天将这次参会使用的 PPT 贴出来,或许会对大家有点用。 先大概介绍下大会的几本情况吧,满满2天的大会,共安排了 29 场演讲,内容涵盖了 Oracle,MySQL,DB2,SQL Server ,Sybase,达梦(国产数据库) 等多种数据库
之前说起 将参加 2010 数据库技术大会,今天将这次参会使用的 PPT 贴出来,或许会对大家有点用。
先大概介绍下大会的几本情况吧,满满2天的大会,共安排了 29 场演讲,内容涵盖了 Oracle,MySQL,DB2,SQL Server ,Sybase,达梦(国产数据库) 等多种数据库,演讲数量之多,主题内容之丰富,实数罕见,哈哈。演讲嘉宾的阵容也非常庞大,国内14个 ACE / ACE Director,其中9位到场演讲。
各个主题内容的 PPT 可以到 此处下载 ,这里我大概介绍下“高可用可扩展数据库架构” 这个话题吧:
在主题中,我从数据库的 高可用 和 可扩展 两个方面来进行了分享探讨:
高可用
- 软/硬件高可用(热/冷备)
- 数据高可用(共享,同/异步复制)
单独的硬件高可用除了冗余之外本身没有太多可以讲的,所以一笔带过。
基于共享设备的数据高可用只是大概的介绍了可能的方案,由于各方案的实施都比较昂贵,更适合于Oracle,DB2等,所以也没有深入探讨。
所以,这部分重点介绍了一下利用 MySQL 的 Replication 技术和应用程序的共同配合来实现 Share Nothing 方式的高可用。
可扩展
- 向上扩展(Scale Up)
- 硬件扩容(增加CPU数量,增加内存容量,增加磁盘数量…)
- 硬件升级(更换更高端的主机,更换更高端的存储设备,更换更高端CPU,更换转速更快的磁盘…)
- 向外扩展(Scale Out)
- 数据拷贝分发(一处写入多处读取,读写分离…)
- 数据垂直/水平切分(功能模块切分(vertical sharding),水平分片切分(horizontal sharding),两者综合)
- Cache 和 Search(应用程序更新Cache,数据库更新 Cache,利用Search全文搜索…)
对于扩展性,Scale Up基本上就是各个厂商自身单台设备扩容能力的比拼,我们没有太多能力干预,所以我也只是简单分析了一下。
而对于 Scale Out,我想肯定是大家最关心的问题了。而Scale Out 中的 Sharding ,我想大家肯定也不是第一次听到,毕竟不是什么新东西了。
我这里重点介绍的是Sharding过程中如何选择合适的Sharding方法,如何解决Sharding之后的数据合并问题(其实没有解决,囧…),以及如何利用数据库外部资源(Cache,Search)来解决数据层的扩展性问题。
其实架构这个东西本身就是 仁者见仁智者见智,没有万能的架构,也没有长久适用的架构。架构和业务场景息息相关密不可分,离开了实际业务场景谈架构,可以说就是纸上谈兵,那如果离开了架构仅仅追求快速的业务实现呢?呵呵,出来混,迟早要还的。
注:我本身不是什么架构师,占用大家那么多宝贵时间听我扯淡架构,挺感动的…
高可用可扩展数据库架构方案探讨
View more presentations from Sky Jian.
原文地址:DTCC归来-高可用可扩展数据库架构探讨, 感谢原作者分享。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Bahasa Go ialah bahasa pengaturcaraan yang cekap, ringkas dan mudah dipelajari Ia digemari oleh pembangun kerana kelebihannya dalam pengaturcaraan serentak dan pengaturcaraan rangkaian. Dalam pembangunan sebenar, operasi pangkalan data adalah bahagian yang sangat diperlukan Artikel ini akan memperkenalkan cara menggunakan bahasa Go untuk melaksanakan operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan pangkalan data. Dalam bahasa Go, kami biasanya menggunakan perpustakaan pihak ketiga untuk mengendalikan pangkalan data, seperti pakej sql yang biasa digunakan, gorm, dsb. Di sini kami mengambil pakej sql sebagai contoh untuk memperkenalkan cara melaksanakan operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan pangkalan data. Andaikan kami menggunakan pangkalan data MySQL.

SpringDataJPA adalah berdasarkan seni bina JPA dan berinteraksi dengan pangkalan data melalui pemetaan, ORM dan pengurusan transaksi. Repositorinya menyediakan operasi CRUD, dan pertanyaan terbitan memudahkan akses pangkalan data. Selain itu, ia menggunakan pemuatan malas untuk hanya mendapatkan semula data apabila perlu, sekali gus meningkatkan prestasi.

Keluk pembelajaran seni bina rangka kerja Go bergantung pada kebiasaan dengan bahasa Go dan pembangunan bahagian belakang serta kerumitan rangka kerja yang dipilih: pemahaman yang baik tentang asas bahasa Go. Ia membantu untuk mempunyai pengalaman pembangunan bahagian belakang. Rangka kerja yang berbeza dalam kerumitan membawa kepada perbezaan dalam keluk pembelajaran.

Pemetaan polimorfik hibernate boleh memetakan kelas yang diwarisi ke pangkalan data dan menyediakan jenis pemetaan berikut: subkelas bercantum: Cipta jadual berasingan untuk subkelas, termasuk semua lajur kelas induk. table-per-class: Cipta jadual berasingan untuk subkelas, yang mengandungi hanya lajur khusus subkelas. union-subclass: serupa dengan joined-subclass, tetapi jadual kelas induk menggabungkan semua lajur subclass.

Keluaran terbaharu Apple bagi sistem iOS18, iPadOS18 dan macOS Sequoia telah menambah ciri penting pada aplikasi Photos, yang direka untuk membantu pengguna memulihkan foto dan video yang hilang atau rosak dengan mudah disebabkan pelbagai sebab. Ciri baharu ini memperkenalkan album yang dipanggil "Dipulihkan" dalam bahagian Alat pada apl Foto yang akan muncul secara automatik apabila pengguna mempunyai gambar atau video pada peranti mereka yang bukan sebahagian daripada pustaka foto mereka. Kemunculan album "Dipulihkan" menyediakan penyelesaian untuk foto dan video yang hilang akibat kerosakan pangkalan data, aplikasi kamera tidak disimpan ke pustaka foto dengan betul, atau aplikasi pihak ketiga yang menguruskan pustaka foto. Pengguna hanya memerlukan beberapa langkah mudah

HTML tidak boleh membaca pangkalan data secara langsung, tetapi ia boleh dicapai melalui JavaScript dan AJAX. Langkah-langkah termasuk mewujudkan sambungan pangkalan data, menghantar pertanyaan, memproses respons dan mengemas kini halaman. Artikel ini menyediakan contoh praktikal menggunakan JavaScript, AJAX dan PHP untuk membaca data daripada pangkalan data MySQL, menunjukkan cara untuk memaparkan hasil pertanyaan secara dinamik dalam halaman HTML. Contoh ini menggunakan XMLHttpRequest untuk mewujudkan sambungan pangkalan data, menghantar pertanyaan dan memproses respons, dengan itu mengisi data ke dalam elemen halaman dan merealisasikan fungsi HTML membaca pangkalan data.

1. Seni Bina Llama3 Dalam siri artikel ini, kami melaksanakan llama3 dari awal. Keseluruhan seni bina Llama3: Gambarkan parameter model Llama3: Mari kita lihat nilai sebenar parameter ini dalam model Llama3. Gambar [1] Tetingkap konteks (tetingkap konteks) Apabila membuat instantiated kelas LlaMa, pembolehubah max_seq_len mentakrifkan tetingkap konteks. Terdapat parameter lain dalam kelas, tetapi parameter ini paling berkaitan secara langsung dengan model pengubah. Maks_seq_len di sini ialah 8K. Gambar [2] Saiz perbendaharaan kata dan PerhatianL

Cara menggunakan MySQLi untuk mewujudkan sambungan pangkalan data dalam PHP: Sertakan sambungan MySQLi (require_once) Cipta fungsi sambungan (functionconnect_to_db) Fungsi sambungan panggilan ($conn=connect_to_db()) Laksanakan pertanyaan ($result=$conn->query()) Tutup sambungan ( $conn->close())
