Azure 'da analitik veri deposu seçme

Büyük veri mimarisinde genellikle, işlenen verileri analitik araçlar kullanılarak sorgulanabilecek yapılandırılmış bir biçimde sunan analitik veri deposu için bir gereksinim vardır. Hem etkin yol hem de soğuk yol verilerinin sorgulanmasını destekleyen analitik veri depoları, hizmet veren katman veya depolama hizmeti olarak adlandırılır.

Hizmet sunma katmanı, hem sıcak yol hem de soğuk yolundan işlenen verilerle ilgilidir. Lambda mimarisinde, sunma katmanı, artımlı olarak işlenen verileri depolayan ve toplu işleme yapılan çıktıyı içeren bir toplu iş katmanı olan bir hız sunma katmanına bölünmüştür. Hizmet sunma katmanı, düşük gecikme süresine sahip rastgele okumalar için güçlü destek gerektirir. Bu depoya toplu yükleme verileri istenmeyen gecikmeler oluşturabileceğinden, hız katmanının veri depolaması da rastgele yazmaları desteklemelidir. Öte yandan, toplu iş katmanının veri depolama alanının rastgele yazmaları desteklemesi gerekmez, ancak bunun yerine toplu yazma işlemleri desteklenmez.

Tüm veri depolama görevleri için tek bir en iyi veri yönetimi seçeneği yoktur. Farklı veri yönetimi çözümleri farklı görevler için iyileştirilmiştir. Çoğu gerçek dünyada bulut uygulaması ve büyük veri süreçlerinin çeşitli veri depolama gereksinimleri vardır ve genellikle veri depolama çözümlerinin bir birleşimini kullanır.

Analitik veri deposu seçerken seçenekleriniz nelerdir?

Gereksinimlerinize bağlı olarak, Azure 'da depolamaya hizmet veren veriler için birkaç seçenek vardır:

Bu seçenekler, farklı görev türleri için iyileştirilmiş çeşitli veritabanı modelleri sağlar:

  • Anahtar/değer veritabanları her anahtar değeri için tek bir seri hale getirilmiş nesneyi tutar. Belirli bir anahtar değeri için bir öğe almak istediğiniz büyük hacimde verilerin depolanması ve öğenin diğer özelliklerine göre sorgu yapmanız gerekmez.
  • Belge veritabanları, değerleri Belgelerolan anahtar/değer veritabanlarıdır. Bu bağlamdaki bir "belge" adlandırılmış alanlar ve değerler koleksiyonudur. Veritabanı, verileri genellikle XML, YAML, JSON veya BSON gibi bir biçimde depolar, ancak düz metin kullanabilir. Belge veritabanları, anahtar olmayan alanları sorgulayabilir ve sorgu kullanımını daha verimli hale getirmek için ikincil dizinler tanımlayabilir. Bu, bir belge veritabanını, ölçütlere göre verileri alması gereken uygulamalar için belge anahtarı değerinden daha karmaşık hale getirir. Örneğin, ürün KIMLIĞI, müşteri KIMLIĞI veya müşteri adı gibi alanlarda sorgulama yapabilirsiniz.
  • Sütun ailesi veritabanları, veri depolamayı, sütun aileleri adlı ilgili sütunların koleksiyonlarına bağlayan anahtar/değer veri depolarıdır. Örneğin, bir görselleştirmenizdeki veritabanı, bir kişinin adı (ilk, orta, son), kişi adresi için bir grup ve kişinin profil bilgileri için bir grup (Doğum verileri, cinsiyet) için bir sütun grubuna sahip olabilir. Veritabanı her bir sütun ailesini ayrı bir bölümde saklayabilir, bu arada aynı anahtarla ilgili tüm verileri tek bir kişiye teslim edebilirsiniz. Bir uygulama bir varlık için tüm verileri okumadan tek bir sütun ailesini okuyabilir.
  • Graph veritabanları, bir nesne ve ilişki koleksiyonu olarak bilgi depolar. Grafik veritabanı, nesne ağı ve aralarındaki ilişkiler ile çapraz geçiş yapan sorguları verimli bir şekilde gerçekleştirebilir. Örneğin, nesneler insan kaynakları veritabanında çalışanlar olabilir ve "Scott için doğrudan veya dolaylı olarak çalışan tüm çalışanları bul" gibi sorguları kolaylaştırmak isteyebilirsiniz.
  • Telemetri ve zaman serisi veritabanları, nesnelerin yalnızca append bir koleksiyonudur. Telemetri veritabanları çeşitli sütun depolarında ve bellek içi yapılarda verileri verimli bir şekilde dizinledikten sonra, çok sayıda telemetri ve zaman serisi verilerinin depolanması ve çözümlenmesi için en uygun seçimi yapar.

Anahtar seçim ölçütleri

Seçimleri daraltmak için, bu soruları yanıtlayarak başlayın:

  • Verilerinize yönelik bir etkin yol olarak hizmet verebileceği depolamaya ihtiyaç duyuyor musunuz? Yanıtınız evet ise, seçeneklerinizi bir hız sunma için optimize edilmiş olanlarla daraltın.

  • Sorguların çeşitli işlemlere veya düğümlere otomatik olarak dağıtıldığı, yüksek düzeyde paralel işleme (MPP) desteğinin olması gerekiyor mu? Yanıt Evet ise, sorgu ölçeğini genişletme 'yi destekleyen bir seçenek belirleyin.

  • İlişkisel bir veri deposu kullanmayı tercih ediyor musunuz? Bu durumda, seçeneklerinizi ilişkisel bir veritabanı modeliyle bir şekilde daraltın. ancak, bazı ilişkisel olmayan depoların sorgulamak için SQL sözdizimini desteklediğini ve polybase gibi araçların ilişkisel olmayan veri depolarını sorgulamak için kullanılabileceğini unutmayın.

  • Zaman serisi verilerini toplıyor musunuz? Yalnızca Append verileri mi kullanıyorsunuz?

Yetenek matrisi

Aşağıdaki tablolar, özelliklerde önemli farklılıkları özetler.

Genel yetenekler

Özellik SQL Veritabanı Azure Synapse SQL havuzu Azure SYNAPSE Spark havuzu Azure Veri Gezgini HDInsight üzerinde HBase/Phoenix HDInsight üzerinde Hive LLAP Azure Analysis Services Cosmos DB
Yönetilen hizmet Yes Yes Yes Yes Evet 1 Evet 1 Evet Yes
Birincil veritabanı modeli İlişkisel (columnstore dizinleri kullanılırken sütunlu biçim) Sütunlu depolamaya sahip ilişkisel tablolar Geniş sütun deposu İlişkisel (sütun deposu), telemetri ve zaman serisi deposu Geniş sütun deposu Hive/bellek Içi Tablo anlam modelleri Belge Mağazası, grafik, anahtar-değer deposu, geniş sütun deposu
SQL dil desteği Yes Yes Yes Yes Evet ( Phoenix JDBC sürücüsü kullanarak) Yes Hayır Yes
Katman sunma hızı için iyileştirildi Evet 2 Evet 3 Yes Yes Yes Yes Hayır Yes

[1] el ile yapılandırma ve ölçeklendirme.

[2] bellek için iyileştirilmiş tabloları ve karma veya kümelenmemiş dizinleri kullanma.

[3] Azure Stream Analytics çıktısı olarak destekleniyor.

Ölçeklenebilirlik özellikleri

Özellik SQL Veritabanı Azure Synapse SQL havuzu Azure SYNAPSE Spark havuzu Azure Veri Gezgini HDInsight üzerinde HBase/Phoenix HDInsight üzerinde Hive LLAP Azure Analysis Services Cosmos DB
Yüksek kullanılabilirlik için yedekli bölgesel sunucular Yes Hayır Hayır Yes Yes Hayır Hayır Yes
Sorgu ölçeğini genişletme desteği Hayır Yes Yes Yes Yes Yes Yes Yes
Dinamik ölçeklenebilirlik (ölçek artırma) Yes Yes Yes Yes Hayır Hayır Yes Yes
Verilerin bellek içi önbelleğe alınmasını destekler Yes Yes Yes Yes Hayır Yes Yes Hayır

Güvenlik özellikleri

Özellik SQL Veritabanı Azure Synapse Azure Veri Gezgini HDInsight üzerinde HBase/Phoenix HDInsight üzerinde Hive LLAP Azure Analysis Services Cosmos DB
Kimlik Doğrulaması SQL/Azure Active Directory (Azure AD) SQL/Azure AD Azure AD Yerel/Azure AD 1 Yerel/Azure AD 1 Azure AD Access Control (ıAM) aracılığıyla veritabanı kullanıcıları/Azure AD
Bekleme sırasında veri şifrelemesi Evet 2 Evet 2 Yes Evet 1 Evet 1 Evet Yes
Satır düzeyinde güvenlik Yes Evet 3 Hayır Evet 1 Evet 1 Evet Hayır
Güvenlik duvarlarını destekler Yes Yes Yes Evet 4 Evet 4 Yes Yes
Dinamik veri maskeleme Yes Yes Yes Evet 1 Evet Hayır Hayır

[1] Etki alanına katılmış HDInsight kümesi kullanmayı gerektirir.

[2] Beklemede verilerinizi şifrelemek ve şifresini çözmek için saydam veri şifrelemesi (TDE) kullanmayı gerektirir.

[3] Yalnızca filtre önkasyonları. Bkz. Satır Düzeyi Güvenlik

[4] Bir Azure Sanal Ağı içinde kullanılır. Bkz. Azure Azure HDInsight kullanarak ağ genişletme.