Ali "zirveden önce ve sonra kapasite artırımı" hayalini nasıl gerçeğe dönüştürüyor?

Ali Kız Kılavuzu: Veri tabanı örneğinin ve depolama ölçeğinin sürekli büyümesiyle karşı karşıya olan, maliyeti büyük ölçüde teşvik eden, zamanlama verimliliğini ve diğer sorunları 2017 yılında Alibaba, daha düşük maliyetle daha fazla esnekliği desteklemek için küçük ölçekte yeni bir teknoloji mimarisi - "depolama ve bilgi işlem ayrımı" uygulamaya başladı desteklemek.

2018'de, tam birimli büyük ölçekli dağıtım için depolama ve bilgi işlem arasında ayrım yaptık. Ancak bundan önce, her işletmenin kendi işletme özelliklerine göre çok fazla optimize edilmesi gerekiyor. Bu özellikle veritabanı alanında geçerlidir ve gereksinimler daha zorlu ve zordur. Bugün, Alibaba'nın Depolama Teknolojisi Bölümünden kıdemli bir teknik uzman olan Lv Jian, Alibaba'nın 2018 Double 11 Promosyonu sırasında depolama ve bilgi işlem arasındaki teknik engelleri nasıl aşacağını, böylece verileri taşımadan esnek ve esnek bir genişleme elde edeceğini ayrıntılı olarak açıklayacak. Teknoloji atılımı.

1. 2017'de ne yaptık?

Daha 2017'de Dr. Wang Jian'ın herkesi "Bilgisayar Olarak IDC" nin başarılıp başarılamayacağı konusunda hararetli bir tartışmaya çağırdığını hatırlıyorum. Bunu yapmak için, depolama ve hesaplama arasındaki ayrımın gerçekleştirilmesi gerekir ve ayrıldıktan sonra, hesaplama ve depolama kaynakları bağımsız olarak ve zamanlama tarafından serbestçe programlanır. Depolama ve bilgi işlem ayrımının farkına varan tüm işletmeler arasında veritabanı en zor olanıdır. Çünkü veritabanı, I / O gecikmesi ve kararlılığı için son derece yüksek gereksinimlere sahiptir. Ancak sektör açısından bakıldığında, depolama ve bilgi işlemin ayrılması, gelecekteki bir teknoloji trendidir, çünkü Google anahtarı ve Aurora zaten uygulanmıştır.

Bu nedenle, 2017 yılında, veritabanı depolama ve bilgi işlem arasındaki ayrımın farkına varacağımız konusunda kesin bir inancımız var. Aslında, 2017 yılında, Zhangbei biriminin depolamasını ve hesaplamasını işlem hacminin% 10'unu taşıyacak şekilde ayırmak için Pangu ve AliDFS'ye (ceph şubesi) dayanarak yaptık. 2017, veri tabanının depolama ve bilgi işlem ayrımını gerçekleştirdiği ilk yıl olup, 2018'de büyük ölçekli depolama ve bilgi işlem ayrımı için sağlam bir temel oluşturuyor.

2. 2018 teknolojik atılım?

2017, veritabanları için depolama ile bilgi işlemin birbirinden ayrılmasında çığır açan bir yılsa, 2018 yılı aşırı performansın peşinde olduğu ve aynı zamanda deneylerden büyük ölçekli dağıtıma geçiş yılıdır.Teknik zorluklar tahmin edilebilir. 2017 bazında, 2018'deki zorluklar daha da büyük olacak ve depolama ile bilgi işlem ayrımının daha yüksek performanslı, evrensel, evrensel ve basit olması gerekiyor.

2018'de, depolama ve bilgi işlem ayrımı altında veritabanı G / Ç'nin en yüksek performansını ve verimini elde etmek için, kendi geliştirdiğimiz kullanıcı modu küme dosya sistemi DADI DBFS. Teknolojiyi DADI DBFS kullanıcı durumu küme dosyasına yatırarak, grubun veritabanı işlemine tam birim büyük ölçekli depolama ve hesaplama ayırma yetkisini veriyoruz. Peki, DBFS bir depolama orta aşama ürünü olmak için hangi teknik yenilikleri yaptı?

2.1 Kullanıcı modu teknolojisi

2.1.1 "SIFIR" kopya

G / Ç yolunun "Sıfır" kopyasını elde etmek için çekirdeği atlamak için doğrudan kullanıcı modunu kullanıyoruz. Çekirdek çekirdeğin dışında kopyalamadan kaçınmak, iş hacmi ve performans büyük ölçüde iyileştirildi.

Geçmişte çekirdek modu kullanıldığında, biri işletmenin kullanıcı modu sürecinden çekirdeğe, diğeri çekirdekten kullanıcı moduna ağ yönlendirme süreci olmak üzere iki veri kopyası olurdu. Bu iki kopya, genel üretimi ve gecikmeyi etkileyecektir.

Salt kullanıcı moduna geçtikten sonra, G / Ç istek istekleri göndermek için yoklama modelini kullanırız. Ek olarak, yoklama modunda CPU tüketimi için uyarlanabilir uyku teknolojisi kullanıyoruz, böylece temel kaynaklar boşta kaldığında israf edilmeyecek.

2.1.2 RDMA

Buna ek olarak DBFS, RDMA teknolojisini Pangu depolamayla doğrudan veri alışverişi yapmak için birleştirerek yerel SSD'lere yakın bir gecikme süresi ve daha yüksek iş hacmi sağlayarak, bu yılın ağ genelinde son derece düşük gecikme süreli G / Ç'yi mümkün kılarak büyük ölçekli depolama ve bilgi işlemi ayırır. Sağlam bir temel oluşturun. Grubun bu yıl promosyona katıldığı RDMA kümesinin, ölçek olarak sektördeki en büyük küme olduğu söylenebilir.

2.2 Sayfa önbelleği

Tampon G / Ç yeteneğini elde etmek için sayfa önbelleğini ayrı ayrı uyguladık. Sayfa cahce, ulaşmak için dokunma sayısına dayalı LRU algoritması kullanır. Dokunma sayısını tanıtmanın anlamı, veritabanının I / O özellikleriyle daha iyi entegre etmektir. Veritabanında genellikle büyük tablo taramaları ve diğer davranışlar olduğundan, bu düşük frekanslı veri sayfasının LRU'nun verimliliğini ortadan kaldırmasını istemiyoruz. Dokunma sayısına göre sayfayı sıcak uçta ve soğuk uçta hareket ettireceğiz.

Sayfa önbelleğinin sayfa boyutu yapılandırılabilir ve veritabanının sayfa boyutuyla birleştirildiğinde, daha iyi bir önbellek verimliliği oynatır. Genel olarak, DBFS'nin sayfa önbelleği aşağıdaki yeteneklere sahiptir:

  • Dokunma sayısına göre sayfanın sıcak ve soğuk uçlarını taşıyın
  • Sıcak ve soğuk uçların oranı yapılandırılabilir, şu anda sıcak ve soğuk oranı 2: 8
  • Sayfa boyutu yapılandırılabilir, optimize edilmiş yapılandırma veritabanı sayfalarıyla birleştirilebilir
  • Eşzamanlılığı iyileştirmek için birden fazla parça; genel kapasite yapılandırılabilir

2.3 Eşzamansız G / Ç

Veritabanının G / Ç verimini iyileştirmek için çoğu veritabanı eşzamansız G / Ç kullanır. Üst veritabanının I / O özellikleriyle uyumlu olmak için, asenkron I / O uyguladık. Eşzamansız G / Ç özellikleri:

  • Kilitsiz kuyruk uygulaması
  • Yapılandırılabilir G / Ç derinliği, veritabanının farklı G / Ç türleri için hassas gecikme kontrolü sağlar
  • Uyarlanabilir yoklama, CPU tüketimini azaltın

2.4 Atomik yazma

Veritabanı sayfası yazılırken hiçbir kısmi yazma olmamasını sağlamak için DBFS atomik yazma işlevini uygular. DBFS tabanlı Innodb, depolama ve hesap ayrımı altında veritabanı bant genişliğinden% 100 tasarruf sağlayan çift yazma tamponunu güvenle kapatabilir.

Ek olarak, PostgreSQL arabellek G / Ç kullanıyorsa, PG'nin kirli sayfa temizleme sırasında zaman zaman karşılaştığı sayfa hatalarını da önler.

2.5 Çevrimiçi Yeniden Boyutlandırma

Genişlemenin neden olduğu veri geçişini önlemek için DBFS, birimin çevrimiçi olarak yeniden boyutlandırılmasını uygulamak için temeldeki Pangu ile birleşir. DBFS, temeldeki depolama alanını yönetmek için kullanılan kendi bit eşlem ayırıcısına sahiptir. Bitmap ayırıcısını optimize ettik ve dosya sistemi düzeyinde kilitsiz yeniden boyutlandırma elde ettik, böylece üst düzey işletme, herhangi bir zamanda, geleneksel ext4 dosya sisteminden tamamen daha iyi olan, tahribatsız ve verimli iş genişletmesi gerçekleştirebilir.

Çevrimiçi Yeniden Boyutlandırma desteği, depolama alanının boşa harcanmasını önler, çünkü depolama alanının% 20'si gibi ayırmaya gerek yoktur, böylece ilerledikçe genişletebilir ve yazabilirsiniz.

Aşağıdakiler, genişletme sırasında bitmap değiştirme işlemidir:

2.6 TCP ve RDMA birbirini kesti

RDMA'nın grup veritabanında geniş çaplı tanıtımı ve kullanımı da çok büyük bir risk noktasıdır.DBFS ve Pangu birlikte RDMA ve TCP karşılıklı anahtarlama işlevini gerçekleştirmiş ve tüm bağlantı süreci boyunca değişim çalışmaları gerçekleştirerek RDMA riskini azaltmıştır. Kontrol kapsamında, stabilite garantisi daha eksiksizdir.

Ek olarak, DBFS, Pangu ve ağ ekibi, RDMA için çok sayıda kapasite ve su seviyesi basınç testi ve arıza tatbikatı gerçekleştirerek sektörün en büyük RDMA lansmanı için yeterli hazırlıkları yaptı.

2.72018'de büyük promosyon dağıtımı

Teknik atılımları gerçekleştirdikten ve temel sorunları çözdükten sonra, DBFS nihayet zorlu görevi tamamladı ve promosyonun tam bağlantısı testini ve ikili "Onbirinci" testini geçerek, depolama ve bilgi işlem ayrımının fizibilitesini ve genel teknolojik trendi bir kez daha doğruladı.

Üçüncüsü, depolama merkezi aracı DBFS

Bir dosya sistemi olarak uygulanması gereken yukarıdaki işlevlere ek olarak, DBFS birçok özelliği de uygulayarak DBFS'nin ticari kullanımını daha çok yönlü, kullanımı daha kolay, daha kararlı ve daha güvenli hale getirir.

3.1 Teknoloji çökeltme ve güçlendirme

Tüm teknolojik yenilikleri ve işlevleri, ürünler biçiminde DBFS'de biriktiriyoruz, böylece DBFS, daha fazla işletmenin, kullanıcı modu biçiminde farklı temeldeki depolama ortamlarına erişmesini ve ayrı depolama ve bilgi işlem için daha fazla veri tabanını güçlendirmesini sağlayabilir.

3.1.1 POSIX uyumlu

Şu anda, veritabanı işini desteklemek için, üst düzey veritabanı işinin kenetlenmesini kolaylaştırmak için en yaygın kullanılan POSIX dosya arabirimleriyle uyumluyuz. Ek olarak, veritabanı hizmetleri için zengin G / Ç yetenekleri sağlayan sayfa önbelleği, eşzamansız G / Ç ve atomik yazma da uygular. Ayrıca, dosya akışlarının işleyişini ve işlenmesini desteklemek için glibc arayüzünü de uyguladık. Bu iki arayüzün desteği, veritabanı erişiminin karmaşıklığını büyük ölçüde basitleştirir, DBFS kullanım kolaylığını artırır ve DBFS'nin daha fazla veritabanı hizmetini desteklemesini sağlar.

Posix bölümü, aşina iseniz listelenmemiştir. Aşağıdakiler, referans için glibc arayüzünün yalnızca bir parçasıdır:

// glibc arayüzü

FILE * fopen (constchar * yolu, constchar * modu);

FILE * fdopen (int fildes, constchar * modu);

size_t fread (void * ptr, size_t boyut, size_t nmemb, FILE * akım);

size_t fwrite (constvoid * ptr, size_t boyut, size_t nmemb, FILE * akım);

intfflush (FILE * akış);

intfclose (FILE * akım);

intfileno (FILE * akışı);

intfeof (FILE * akışı);

intferror (FILE * akım);

voidclearerr (FILE * akışı);

intfseeko (FILE * akım, off_t uzaklık, int nereden);

intfseek (FILE * akım, uzun uzaklık, int nereden);

off_t ftello (FILE * akım);

longftell (FILE * akışı);

voidrewind (FILE * akım);

3.1.2 Sigorta uygulaması

Ek olarak, Linux ekosistemi ile uyumlu olmak için, VFS etkileşimini açmak için sigorta uyguladık. Fuse'un piyasaya sürülmesi, kullanıcıların nihai performansı dikkate almadan herhangi bir kod değişikliği yapmadan DBFS'ye erişmesine olanak tanıyarak, ürünün kullanım kolaylığını büyük ölçüde artırıyor. Ek olarak, geleneksel işletme ve bakım işlemlerini büyük ölçüde kolaylaştırır.

3.1.3 Hizmet odaklı yetenekler

DBFS, paylaşılan bellek IPC iletişimine dayalı kendi geliştirdiği shmQ bileşenlerine sahiptir, bu nedenle PostgreSQL tabanlı süreç mimarisi ve MySQL'in iş parçacığı tabanlı mimarisi için desteği çekerek DBFS'yi daha genel ve güvenli hale getirir ve gelecekteki çevrimiçi yükseltmeler için sağlam bir temel sağlar.

shmQ, kilitsiz bir uygulamaya dayalıdır ve mükemmel performansa ve verimliliğe sahiptir.Geçerli testten, 16K gibi büyük veritabanı sayfaları altında birkaç US içinde erişim gecikmesini kontrol edebilir. Servis ve çok süreçli mimari desteği ile mevcut performans ve istikrar beklentilerle uyumludur.

3.1.4 Küme Dosya Sistemi

Küme işlevi, DBFS'nin bir başka belirgin özelliğidir: Güçlendirilmiş veritabanı, bilgi işlem kaynaklarının doğrusal genişlemesini sağlamak ve işletme için depolama maliyetlerinden tasarruf etmek için paylaşılan disk modeline dayanır. Ek olarak, paylaşılan disk modu, veritabanı için hızlı esneklik sağlar ve etkin ve bekleme modu arasında hızlı geçiş için SLA'yı büyük ölçüde geliştirir. Küme dosya sistemi, birden çok okuma yazma ve birden çok nokta yazma yeteneği sağlar, paylaşılan disk için sağlam bir temel oluşturur ve veritabanının hiçbir şey paylaşmayan mimarisi. Geleneksel OCFS ile karşılaştırıldığında, bunu daha iyi performans ve daha otonom kontrol ile kullanıcı modunda gerçekleştiriyoruz. OCFS, büyük ölçüde Linux'un VFS'sine dayanır, örneğin, bağımsız bir sayfa önbelleği yoktur.

DBFS bir-yazma-çoklu-okuma modunu desteklediğinde, birden çok rol seçeneği (M / S) sağlar. Paylaşılan verileri kullanmak için bir M düğümü ve birden çok S düğümü olabilir ve hem M hem de S düğümleri Pangu verilerine erişebilir. Üst veritabanı M / S düğümünü kısıtlar, M düğümünün veri erişimi okunabilir ve yazılabilir ve S düğümünün veri erişimi salt okunurdur. Ana kütüphane başarısız olursa, değişecektir. Master-slave anahtarlama adımları:

  • İş izleme dizini tespiti M düğümünün erişilemez veya anormal olduğunu tespit ettiğinde, geçiş yapılıp yapılmayacağına karar verilir.
  • Bir anahtar oluşursa, yönetim ve kontrol platformu tarafından bir anahtar komutu başlatılır ve anahtar komutu tamamlanır; bu, hem DBFS hem de üst veritabanının rol anahtarını tamamladığı anlamına gelir.
  • DBFS anahtarlama sürecinde, en önemli eylem, çift yazmayı önlemek için orijinal M düğümü IO yeteneğini yasaklayan IO çitidir.

DBFS, çok noktalı yazma sırasında tüm düğümlerde genel metal kilit kontrolü ve blok grubu tahsis optimizasyonu gerçekleştirir. Buna ek olarak, disk tabanlı çekirdek algoritması da işin içine girecek.İçerik daha karmaşık, bu yüzden şimdilik ayrıntılı bir açıklama yapmayacağım.

3.2 Yazılım ve donanım kombinasyonu

Yeni depolama ortamının ortaya çıkmasıyla, veritabanının kaçınılmaz olarak daha iyi performans veya daha düşük maliyet optimizasyonu uygulamak ve temeldeki depolama ortamının otonom kontrolünü sağlamak için onu kullanması gerekecektir.

Intel'in depolama ortamı planı açısından performanstan kapasiteye kadar üç ürün, AEP, Optane ve SSD oluşturulacak ve QLC, büyük kapasite yönünde ortaya çıkacak. Dolayısıyla, genel performans ve maliyet açısından Optane'nin nispeten iyi bir önbellek ürünü olduğunu düşünüyoruz. DBFS baş kalıcı dosya önbelleğinin uygulaması olarak seçiyoruz.

3.2.1 Kalıcı dosya önbelleği

DBFS, Optane'ye dayalı yerel kalıcı önbellek işlevini uygular, bu da veritabanının okuma ve yazma performansını depolama ve hesap ayrımı altında bir adım daha yakınlaştırır. Üretim kullanılabilirliği elde etmek için Dosya önbelleği aşağıdakiler gibi birçok çalışma yaptı:

  • Kararlı ve güvenilir hata yönetimi
  • Dinamik etkinleştirmeyi ve devre dışı bırakmayı destekleyin
  • Yük dengeleme desteği
  • Performans endeksi toplama ve görüntüleme desteği
  • Veri doğruluğu düzeltmesini destekleyin

Bu işlevlerin desteği, çevrimiçi istikrar için sağlam bir temel oluşturur. Bunların arasında, Optane'nin I / O'su SPDK'nın saf kullanıcı modu teknolojisi olduğundan, DBFS, Fusion Engine'in vhost'uyla birlikte uygulanır. Dosya Önbelleğinin sayfa boyutu, en iyi sonuçları elde etmek için üst veritabanının blok boyutuna göre en uygun şekilde yapılandırılabilir.

Aşağıda dosya önbelleğinin mimari diyagramı verilmiştir:

Aşağıda testten elde edilen okuma ve yazma performans kazancı verileri verilmiştir:

"Önbelleğe" sahip olanlar dosya önbelleğine dayalıdır. Genel performans arttıkça, okuma gecikmesi azalmaya başlar. Ek olarak, dosya önbelleği için birçok performans göstergesini izledik.

3.2.2 Açık Kanal SSD

X-Engine, nesne SSD'sine dayalı otonom ve kontrol edilebilir bir depolama sistemi oluşturmak için DBFS ve Fusion Engine ekipleriyle işbirliği yaptı. SSD aşınmasının azaltılması, SSD veriminin iyileştirilmesi ve okuma ile yazma arasındaki karşılıklı etkileşimin azaltılması gibi alanlarda derinlemesine araştırma ve uygulama yapılmış ve çok iyi sonuçlar elde edilmiştir. Şu anda, X-Engine'in hiyerarşik depolama stratejisi, okuma ve yazma yolunu açmak için birleştirildi. Daha derinlemesine akıllı depolama araştırma ve geliştirmenin bir sonraki adımını dört gözle bekliyoruz.

Dördüncü olarak, özet ve görünüm

DBFS, 2018'de depolama ve bilgi işlem ayrımı şeklinde "11.11" promosyonunu desteklemek için X-DB'yi zaten büyük ölçekte desteklemiştir; aynı zamanda, ADS'yi bir yazma ve çoklu okuma yetenekleri ve Tair elde etme konusunda da güçlendirmiştir.

DBFS, işletmeyi desteklerken, PG süreci ve MySQL iş parçacığı mimarisinin desteğinden yararlandı, VFS arayüzünü açtı ve Linux ekosistemiyle uyumluluk elde ederek gerçek bir depolama orta seviye ürün kümesi kullanıcı durumu dosyaları haline geldi. sistemi. Gelecekte, daha fazla yazılım ve donanım kombinasyonu, katmanlı depolama, NVeoF ve diğer teknolojilerin kombinasyonu, daha fazla veritabanının daha fazla değer elde etmesini sağlayacaktır.

Son olarak, bir reklam yapın ~ Herkes Depolama Bölümünün DBFS ekibine katılmaya hoş geldiniz! Depolama Teknolojisi Bölümü, Alibaba ekosistemindeki büyük iş grupları için yüksek ölçeklenebilirlik, yüksek performanslı ve kullanımı kolay genel depolama hizmetleri sağlayan Alibaba'nın altyapı iş grubunun önemli bileşenlerinden biridir. Birinci sınıf depolama ürünleri ve teknolojileri, çok sayıda kullanıcı ve büyük teknik zorluklar vardır. Depolama, yazılım ve donanım entegrasyonu, dosya sistemleri, dağıtılmış sistemler veya veritabanları konusunda tecrübesi olan öğrenciler bizimle iletişime geçebilirler. Özgeçmişinizi nasıl gönderebilirsiniz: jianshu.ljs@alibaba-inc.com.

Mourinho, Manchester United'ın tek taşla iki kuş vurmak için güçlü genel etkisinden yararlanıyor! Saldırı taktiklerini hızlandırmak, insanları kış penceresinden satın almaya yardımcı olacak
önceki
"Double Eleven" yakında geliyor! Dolu görünmek için bir araba nasıl alınır?
Sonraki
Süper Lig sıralamasının 3. seviyesi oluşturuldu: 4 takım şampiyonluk için yarışacak, 6 takım bozucu olacak ve 6 takım düşme takımı olacak
Söylenti durdurucu! Benzin rengi ve yağ kalitesi arasındaki "belirsiz" ilişki
Post-modern sanat × geleneksel ulusal öz: Sınır ötesi "Görünüş" ün nasıl göründüğünü görün
Şu anda, dünyaca ünlü okul eskrim seçkin yarışmasından iyi haberler geldi ve 4 Çin üniversitesi şampiyonluğu kazandı!
Xiaotou suçu üstlenmek için Lakers'a mı gitti? 22 + 6 utanç duygusunu pek gizleyemez ve rakip antrenör buna daha fazla dayanamaz!
Haval H6 neden SUV satış şampiyonu? Sürüşten sonra anlayacaksınız!
Süper Lig, 6 yerel oyuncu ile en az 5 gol attı: Luneng Titans şaşırtıcı, Wu Lei özel bir rekoru kaçırdı
Volkswagen Discovery Araba Satın Alma Rehberi: Gelin ve hangi konfigürasyonun en iyi değer olduğunu görün!
Kartı geçmek için çukurları kazın ve çukurları doldurun! Durant: Neden kazandın? Bobo: Elimizden gelenin en iyisini yaptık!
Araba seçmek, bir kız arkadaş seçmek gibidir, anahtar parçalar büyük ve yeterince sıcaktır!
Süper Lig'de 3 görünmez işlem ortaya çıktı! Eski milli futbol kalecisi Yatai'ye katıldı, Tianhai başka bir güçlü destek aldı
Wang Shangyuan tüm dikkatleri üzerine çekiyor! Jianye'nin mükemmel beraberliği hakem tarafından havaya uçuruldu Hu Jinghang sayı atmadan önce ne oldu?
To Top