Veri Depolama için 6 İsteğe Bağlı Teknoloji

İş sorunları, özellikle büyük veri ve analitik alanında tek bir aracın hepsini çözemeyeceği kadar geniş, derin ve karmaşıktır. Bu makale, veri depolama için 6 alternatif teknolojiyi açıklamaktadır.
1. Yapılandırılmış veri depolama
Yapılandırılmış veri depolama on yıllardır hayatımızdadır ve en bilinen veri depolama teknolojisidir. Çoğu işlemsel veritabanı, yazılım uygulamalarından gelen sık veri yazma işlemlerini ele aldığı için satır tabanlı veritabanlarıdır.
İşletmeler genellikle işlemsel veritabanlarını raporlama için eş zamanlı olarak kullanır; bu durumda verilerin sık okunması gerekir ancak veri yazma çok daha seyrektir. Veri okuma talebinin artmasıyla birlikte, veri okuma performansını artırmaya ve analiz ihtiyaçlarını karşılamaya yardımcı olan sütun tabanlı dosya biçimi yeniliği gibi yapılandırılmış veri depolamanın sorgu alanına daha fazla yenilik girmiştir.
Satır tabanlı biçimler, verileri bir dosyada satırlar halinde depolar. Satır tabanlı yazma, verileri diske yazmanın en hızlı yoludur; ancak çok sayıda ilgisiz veriyi atlamanız gerektiğinden okuma için mutlaka en hızlı yöntem değildir.
Sütun tabanlı biçimler, tüm sütun değerlerini dosyada bir arada depolar. Aynı veri türleri artık birlikte gruplandığından bu durum daha iyi sıkıştırma sağlar. Genellikle ihtiyacınız olmayan sütunları atlayabileceğiniz için daha iyi okuma performansı da sunar.
Yapılandırılmış veri depolama için yaygın seçeneklere bakalım. Örneğin, siparişler tablosundan belirli bir ayın toplam satış sayısını sorgulamanız gerekiyor ancak tabloda 50 sütun var. Satır tabanlı mimaride sorgulama sırasında tüm tablonun 50 sütunu taranırken, sütun tabanlı mimaride sorgulama sırasında yalnızca sipariş satış sütunu taranır; böylece veri sorgulama performansı artar. Şimdi işlemsel verilere ve veri analizi için veri ambarı ihtiyacına odaklanarak ilişkisel veritabanlarını daha yakından inceleyelim.
İşletmeler genellikle işlemsel veritabanlarını raporlama için eş zamanlı olarak kullanır; bu durumda verilerin sık okunması gerekir ancak veri yazma çok daha seyrektir. Veri okuma talebinin artmasıyla birlikte, veri okuma performansını artırmaya ve analiz ihtiyaçlarını karşılamaya yardımcı olan sütun tabanlı dosya biçimi yeniliği gibi yapılandırılmış veri depolamanın sorgu alanına daha fazla yenilik girmiştir.
Satır tabanlı biçimler, verileri bir dosyada satırlar halinde depolar. Satır tabanlı yazma, verileri diske yazmanın en hızlı yoludur; ancak çok sayıda ilgisiz veriyi atlamanız gerektiğinden okuma için mutlaka en hızlı yöntem değildir.
Sütun tabanlı biçimler, tüm sütun değerlerini dosyada bir arada depolar. Aynı veri türleri artık birlikte gruplandığından bu durum daha iyi sıkıştırma sağlar. Genellikle ihtiyacınız olmayan sütunları atlayabileceğiniz için daha iyi okuma performansı da sunar.
Yapılandırılmış veri depolama için yaygın seçeneklere bakalım. Örneğin, siparişler tablosundan belirli bir ayın toplam satış sayısını sorgulamanız gerekiyor ancak tabloda 50 sütun var. Satır tabanlı mimaride sorgulama sırasında tüm tablonun 50 sütunu taranırken, sütun tabanlı mimaride sorgulama sırasında yalnızca sipariş satış sütunu taranır; böylece veri sorgulama performansı artar. Şimdi işlemsel verilere ve veri analizi için veri ambarı ihtiyacına odaklanarak ilişkisel veritabanlarını daha yakından inceleyelim.
(1) İlişkisel veritabanı
İlişkisel Veritabanı Yönetim Sistemi (RDBMS), çevrimiçi işlem işleme (OLTP) uygulamaları için daha uygundur. Popüler ilişkisel veritabanları arasında MSSQL, MariaDB, PostgreSQL gibi sistemler bulunur. Bu geleneksel veritabanlarının bazıları on yıllardır kullanılmaktadır.
E-ticaret, bankacılık ve otel rezervasyonları dahil birçok uygulama ilişkisel veritabanlarıyla çalışır. İlişkisel veritabanları, tablolar arası karmaşık birleştirme sorguları gerektiren işlemsel verileri işlemekte oldukça başarılıdır. İşlem verisi gereksinimleri açısından, ilişkisel veritabanları aşağıdaki ACID özelliklerine (atomiklik, tutarlılık, yalıtım ve kalıcılık) uymalıdır:
Atomiklik: İşlem baştan sona tamamen yürütülür; bir hata oluşması durumunda tüm işlem geri alınır.
Tutarlılık: İşlem tamamlandığında tüm veriler veritabanına kaydedilir.
Yalıtım: Birden fazla işlemin birbirini etkilemeden eş zamanlı olarak yalıtılmış biçimde çalışması gerekir.
Kalıcılık: Herhangi bir kesinti (ağ veya güç kaybı gibi) durumunda işlemin bilinen son duruma kurtarılabilmesi gerekir.
Genellikle ilişkisel veritabanlarındaki veriler, raporlama ve toplama amacıyla bir veri ambarına aktarılır.
İlişkisel Veritabanı Yönetim Sistemi (RDBMS), çevrimiçi işlem işleme (OLTP) uygulamaları için daha uygundur. Popüler ilişkisel veritabanları arasında MSSQL, MariaDB, PostgreSQL gibi sistemler bulunur. Bu geleneksel veritabanlarının bazıları on yıllardır kullanılmaktadır.
E-ticaret, bankacılık ve otel rezervasyonları dahil birçok uygulama ilişkisel veritabanlarıyla çalışır. İlişkisel veritabanları, tablolar arası karmaşık birleştirme sorguları gerektiren işlemsel verileri işlemekte oldukça başarılıdır. İşlem verisi gereksinimleri açısından, ilişkisel veritabanları aşağıdaki ACID özelliklerine (atomiklik, tutarlılık, yalıtım ve kalıcılık) uymalıdır:
Atomiklik: İşlem baştan sona tamamen yürütülür; bir hata oluşması durumunda tüm işlem geri alınır.
Tutarlılık: İşlem tamamlandığında tüm veriler veritabanına kaydedilir.
Yalıtım: Birden fazla işlemin birbirini etkilemeden eş zamanlı olarak yalıtılmış biçimde çalışması gerekir.
Kalıcılık: Herhangi bir kesinti (ağ veya güç kaybı gibi) durumunda işlemin bilinen son duruma kurtarılabilmesi gerekir.
Genellikle ilişkisel veritabanlarındaki veriler, raporlama ve toplama amacıyla bir veri ambarına aktarılır.
(2) Veri ambarı
Veri ambarları, Çevrimiçi Analitik İşleme (OLAP) uygulamaları için daha uygundur. Veri ambarları, büyük miktardaki yapılandırılmış veri için hızlı toplama yetenekleri sunar. Verilerin toplu olarak yüklenmesi gerektiğinden, ambarların sıcak verilerde gerçek zamanlı içgörüler sağlaması mümkün değildir.
Modern veri ambarları, sorgu performansını artırmak için sütun tabanlı depolama kullanır. Sütun tabanlı depolama sayesinde bu veri ambarları çok hızlı sorgu hızı sağlar ve G/Ç verimliliğini artırır.
Veri ambarı, bir veya daha fazla veritabanından gelen birikmiş verileri depolayabilen merkezi bir havuzdur. İş verilerine ilişkin analitik raporlar oluşturmak için güncel ve geçmiş verileri saklar.
Veri ambarları birden fazla sistemden gelen verileri merkezi olarak depolasalar da veri gölü olarak kabul edilemezler. Veri ambarı yalnızca yapılandırılmış ilişkisel verileri işleyebilirken, veri gölü hem yapılandırılmış ilişkisel verileri hem de JSON, günlük ve CSV gibi yapılandırılmamış verileri işleyebilir.
Veri ambarları, Çevrimiçi Analitik İşleme (OLAP) uygulamaları için daha uygundur. Veri ambarları, büyük miktardaki yapılandırılmış veri için hızlı toplama yetenekleri sunar. Verilerin toplu olarak yüklenmesi gerektiğinden, ambarların sıcak verilerde gerçek zamanlı içgörüler sağlaması mümkün değildir.
Modern veri ambarları, sorgu performansını artırmak için sütun tabanlı depolama kullanır. Sütun tabanlı depolama sayesinde bu veri ambarları çok hızlı sorgu hızı sağlar ve G/Ç verimliliğini artırır.
Veri ambarı, bir veya daha fazla veritabanından gelen birikmiş verileri depolayabilen merkezi bir havuzdur. İş verilerine ilişkin analitik raporlar oluşturmak için güncel ve geçmiş verileri saklar.
Veri ambarları birden fazla sistemden gelen verileri merkezi olarak depolasalar da veri gölü olarak kabul edilemezler. Veri ambarı yalnızca yapılandırılmış ilişkisel verileri işleyebilirken, veri gölü hem yapılandırılmış ilişkisel verileri hem de JSON, günlük ve CSV gibi yapılandırılmamış verileri işleyebilir.
2. NoSQL veritabanı
Dynamo DB, ApsaraDB for Cassandra ve ApsaraDB for MongoDB gibi NoSQL veritabanları, ilişkisel veritabanlarında sıkça karşılaşılan ölçeklendirme ve performans zorluklarını çözebilir. Adından da anlaşılacağı üzere NoSQL, ilişkisel olmayan veritabanı anlamına gelir. NoSQL veritabanları, farklı tablolardaki verileri birbirine bağlayan tanımlı bir yapısal mekanizma (join, yabancı anahtarlar veya paradigma) olmaksızın verileri depolar.
NoSQL; sütun, anahtar-değer, arama, belge ve grafik modelleri dahil olmak üzere çeşitli veri modelleri kullanır. NoSQL veritabanları ölçeklenebilir performans, yüksek kullanılabilirlik ve dayanıklılık sunar.
NoSQL genellikle katı bir veritabanı şemasına sahip değildir; her kayıt herhangi bir sayıda sütuna (özelliğe) sahip olabilir. Bu, bir satırın 4 sütuna sahipken aynı tablodaki başka bir satırın 10 sütuna sahip olabileceği anlamına gelir. Bölüm anahtarları, ilgili özellikleri içeren değerleri veya belgeleri getirmek için kullanılır. NoSQL veritabanları son derece dağıtıktır ve kopyalanabilir. NoSQL veritabanları performans sorunları olmadan yüksek kalıcılık ve yüksek kullanılabilirlik sağlar.
NoSQL; sütun, anahtar-değer, arama, belge ve grafik modelleri dahil olmak üzere çeşitli veri modelleri kullanır. NoSQL veritabanları ölçeklenebilir performans, yüksek kullanılabilirlik ve dayanıklılık sunar.
NoSQL genellikle katı bir veritabanı şemasına sahip değildir; her kayıt herhangi bir sayıda sütuna (özelliğe) sahip olabilir. Bu, bir satırın 4 sütuna sahipken aynı tablodaki başka bir satırın 10 sütuna sahip olabileceği anlamına gelir. Bölüm anahtarları, ilgili özellikleri içeren değerleri veya belgeleri getirmek için kullanılır. NoSQL veritabanları son derece dağıtıktır ve kopyalanabilir. NoSQL veritabanları performans sorunları olmadan yüksek kalıcılık ve yüksek kullanılabilirlik sağlar.
3. NoSQL veritabanı türleri
Başlıca NoSQL veritabanı türleri şunlardır:
Sütun veritabanları: Sütun tabanlı veri depoları, veri sorgularken tüm satırı taramak yerine yalnızca ilgili sütunu taramayı sağlar. Örneğin items tablosunda 10 sütun ve 1 milyon satır varsa ve envanterdeki bir ürünün miktarını sorgulamak istiyorsanız, sütun veritabanı tüm tabloyu taramadan sorguyu yalnızca miktar sütununa uygular.
Belge veritabanları: En popüler belge veritabanları arasında ApsaraDB for MongoDB, Couchbase, MarkLogic, Dynamo DB ve ApsaraDB for Cassandra yer alır. Belge veritabanı, JSON ve XML biçimlerindeki yarı yapılandırılmış verileri depolamak için kullanılabilir.
Graph Database: Graph Database, köşeleri ve köşeler arasındaki bağlantıları (kenar olarak adlandırılır) depolar. Grafikler hem ilişkisel hem de ilişkisel olmayan veritabanları üzerinde oluşturulabilir.
Bellek içi anahtar-değer depoları: Verileri bellekte saklar ve verilerin sık okunduğu senaryolarda kullanılır. Uygulamanın sorgusu önce bellek içi veritabanına gider; veri önbellekte mevcutsa ana veritabanına erişilmez. Bellek içi veritabanları, kullanıcı profilleri gibi karmaşık sorgular ve sık veri istekleri gerektiren oturum bilgilerini depolamak için idealdir.
NoSQL birçok kullanım durumuna sahiptir ancak bir veri arama hizmeti oluşturmak için tüm verilerin dizine eklenmesi gerekir.
Sütun veritabanları: Sütun tabanlı veri depoları, veri sorgularken tüm satırı taramak yerine yalnızca ilgili sütunu taramayı sağlar. Örneğin items tablosunda 10 sütun ve 1 milyon satır varsa ve envanterdeki bir ürünün miktarını sorgulamak istiyorsanız, sütun veritabanı tüm tabloyu taramadan sorguyu yalnızca miktar sütununa uygular.
Belge veritabanları: En popüler belge veritabanları arasında ApsaraDB for MongoDB, Couchbase, MarkLogic, Dynamo DB ve ApsaraDB for Cassandra yer alır. Belge veritabanı, JSON ve XML biçimlerindeki yarı yapılandırılmış verileri depolamak için kullanılabilir.
Graph Database: Graph Database, köşeleri ve köşeler arasındaki bağlantıları (kenar olarak adlandırılır) depolar. Grafikler hem ilişkisel hem de ilişkisel olmayan veritabanları üzerinde oluşturulabilir.
Bellek içi anahtar-değer depoları: Verileri bellekte saklar ve verilerin sık okunduğu senaryolarda kullanılır. Uygulamanın sorgusu önce bellek içi veritabanına gider; veri önbellekte mevcutsa ana veritabanına erişilmez. Bellek içi veritabanları, kullanıcı profilleri gibi karmaşık sorgular ve sık veri istekleri gerektiren oturum bilgilerini depolamak için idealdir.
NoSQL birçok kullanım durumuna sahiptir ancak bir veri arama hizmeti oluşturmak için tüm verilerin dizine eklenmesi gerekir.
4. Elasticsearch
Elasticsearch, tıklama akışı ve günlük analizi gibi büyük veri senaryoları için en popüler arama motorlarından biridir. Dize belirteçleri dahil olmak üzere herhangi bir sayıda özelliğe sahip ılık veriler üzerinde anlık sorgular, arama motorları tarafından iyi desteklenir. Elasticsearch oldukça popülerdir. Genel ikili veya nesne depolama; yapılandırılmamış, dizine alınamayan ve hiçbir özel aracın anlayamayacağı biçimdeki diğer veriler için uygundur.
Günlük arama ve analizi yaygın büyük veri uygulama senaryolarıdır; Elasticsearch web siteleri, sunucular ve IoT sensörlerinden gelen günlük verilerini analiz etmenize yardımcı olabilir. Elasticsearch; bankacılık, oyun, pazarlama, Uygulama İzleme, reklam teknolojisi, Fraud Detection, öneri sistemleri ve IoT gibi çok sayıda sektör uygulamasında kullanılır.
Günlük arama ve analizi yaygın büyük veri uygulama senaryolarıdır; Elasticsearch web siteleri, sunucular ve IoT sensörlerinden gelen günlük verilerini analiz etmenize yardımcı olabilir. Elasticsearch; bankacılık, oyun, pazarlama, Uygulama İzleme, reklam teknolojisi, Fraud Detection, öneri sistemleri ve IoT gibi çok sayıda sektör uygulamasında kullanılır.
5. Yapılandırılmamış veri depolama
Yapılandırılmamış veri depolama ihtiyaçlarınız olduğunda Hadoop, ölçeklenebilir ve son derece esnek yapısıyla mükemmel bir seçim gibi görünür. Tüketici sınıfı cihazlarda çalışır, geniş bir araç ekosistemine sahiptir ve maliyet açısından avantajlıdır.
Hadoop, ana düğüm ve alt düğüm modelini benimser. Veriler birden fazla alt düğüme dağıtılır; ana düğüm işlemleri koordine eder ve veriler üzerinde sorgu işlemleri gerçekleştirir. Hadoop sistemi, Massively Parallel Processing (MPP) teknolojisine dayanır ve yapılandırılmış veya yapılandırılmamış her türlü veride hızlı sorgulama imkanı sunar.
Bir Hadoop kümesi oluşturulduğunda, alt sunucuda yaratılan her alt düğüm, yerel Hadoop Dağıtık Dosya Sistemi (HDFS) adı verilen bir disk depolama bloğuyla birlikte gelir. Hive, Ping ve Spark gibi yaygın işleme çerçevelerini kullanarak depolanan verileri sorgulayabilirsiniz. Ancak yerel diskteki veriler yalnızca ilişkili örneğin yaşam süresi boyunca saklanır.
Verileri depolamak için Hadoop depolama katmanını (yani HDFS) kullanırsanız depolama ve hesaplama birbirine bağlanır. Depolama eklemek daha fazla makine eklemeyi gerektirir ve bu da hesaplama gücünü artırır. Maksimum esneklik ve en iyi maliyet etkinliği için hesaplama ile depolamanın ayrılması ve birbirinden bağımsız olarak ölçeklendirilmesi gerekir.
Genel olarak nesne depolama, her türlü veriyi uygun maliyetli bir şekilde saklamak amacıyla veri gölleri için daha uygundur. Nesne depolama desteğiyle bulut tabanlı veri gölleri, hesaplama ve depolamayı esnek bir şekilde ayırabilir.
Hadoop, ana düğüm ve alt düğüm modelini benimser. Veriler birden fazla alt düğüme dağıtılır; ana düğüm işlemleri koordine eder ve veriler üzerinde sorgu işlemleri gerçekleştirir. Hadoop sistemi, Massively Parallel Processing (MPP) teknolojisine dayanır ve yapılandırılmış veya yapılandırılmamış her türlü veride hızlı sorgulama imkanı sunar.
Bir Hadoop kümesi oluşturulduğunda, alt sunucuda yaratılan her alt düğüm, yerel Hadoop Dağıtık Dosya Sistemi (HDFS) adı verilen bir disk depolama bloğuyla birlikte gelir. Hive, Ping ve Spark gibi yaygın işleme çerçevelerini kullanarak depolanan verileri sorgulayabilirsiniz. Ancak yerel diskteki veriler yalnızca ilişkili örneğin yaşam süresi boyunca saklanır.
Verileri depolamak için Hadoop depolama katmanını (yani HDFS) kullanırsanız depolama ve hesaplama birbirine bağlanır. Depolama eklemek daha fazla makine eklemeyi gerektirir ve bu da hesaplama gücünü artırır. Maksimum esneklik ve en iyi maliyet etkinliği için hesaplama ile depolamanın ayrılması ve birbirinden bağımsız olarak ölçeklendirilmesi gerekir.
Genel olarak nesne depolama, her türlü veriyi uygun maliyetli bir şekilde saklamak amacıyla veri gölleri için daha uygundur. Nesne depolama desteğiyle bulut tabanlı veri gölleri, hesaplama ve depolamayı esnek bir şekilde ayırabilir.
6. Veri Gölü
Veri gölü, yapılandırılmış ve yapılandırılmamış verilerin merkezi havuzudur. Veri gölleri, büyük miktarda veriyi merkezi depolama alanında saklamak ve analiz etmek için popüler bir yöntem haline gelmektedir. Verileri olduğu gibi depolar ve kolay analiz için açık kaynaklı dosya biçimi kullanır. Veriler mevcut biçimlerinde saklanabildiğinden, verileri önceden tanımlanmış bir şemaya dönüştürmeye gerek kalmaz; bu da veri alımı hızını artırır.
Veri gölünün avantajları şunlardır:
Çeşitli kaynaklardan veri alımı: Veri gölü, tek bir doğruluk kaynağı oluşturmak amacıyla ilişkisel ve ilişkisel olmayan veritabanları ile akışlar gibi çeşitli kaynaklardan gelen verileri merkezi bir konumda saklamanıza ve analiz etmenize olanak tanır. Verilerin neden birden fazla yere yayıldığı ve tek doğruluk kaynağının nerede olduğu gibi soruları yanıtlar.
Verileri verimli bir şekilde alma ve depolama: Veri gölleri, herhangi bir şemaya ihtiyaç duymadan yarı yapılandırılmış ve yapılandırılmamış veriler dahil her türlü veriyi alabilir. Bu, çeşitli kaynaklardan ve biçimlerdeki verilerin nasıl hızlıca alınacağını ve büyük ölçekte verimli bir şekilde depolanacağını açıklar.
Üretilen veri miktarı artmaya devam ettikçe: Veri gölü, depolama katmanını hesaplama katmanından ayırmanıza ve her bileşeni ayrı ayrı ölçeklendirmenize olanak tanır. Bu, üretilen veri miktarıyla birlikte nasıl ölçeklendirme yapılacağı sorusunu yanıtlar.
Farklı kaynaklardan gelen verilere analitik uygulama: Veri gölü ile verileri okurken veri kalıplarını belirleyebilir ve farklı kaynaklardan toplanan verilerin merkezi bir veri kataloğunu oluşturabilirsiniz. Bu, verileri hızlıca ve istediğiniz zaman analiz etmenizi sağlar. Böylece aynı verilere birden fazla analiz ve işleme çerçevesinin uygulanıp uygulanamayacağı sorusu yanıtlanır.
Veri gölünün avantajları şunlardır:
Çeşitli kaynaklardan veri alımı: Veri gölü, tek bir doğruluk kaynağı oluşturmak amacıyla ilişkisel ve ilişkisel olmayan veritabanları ile akışlar gibi çeşitli kaynaklardan gelen verileri merkezi bir konumda saklamanıza ve analiz etmenize olanak tanır. Verilerin neden birden fazla yere yayıldığı ve tek doğruluk kaynağının nerede olduğu gibi soruları yanıtlar.
Verileri verimli bir şekilde alma ve depolama: Veri gölleri, herhangi bir şemaya ihtiyaç duymadan yarı yapılandırılmış ve yapılandırılmamış veriler dahil her türlü veriyi alabilir. Bu, çeşitli kaynaklardan ve biçimlerdeki verilerin nasıl hızlıca alınacağını ve büyük ölçekte verimli bir şekilde depolanacağını açıklar.
Üretilen veri miktarı artmaya devam ettikçe: Veri gölü, depolama katmanını hesaplama katmanından ayırmanıza ve her bileşeni ayrı ayrı ölçeklendirmenize olanak tanır. Bu, üretilen veri miktarıyla birlikte nasıl ölçeklendirme yapılacağı sorusunu yanıtlar.
Farklı kaynaklardan gelen verilere analitik uygulama: Veri gölü ile verileri okurken veri kalıplarını belirleyebilir ve farklı kaynaklardan toplanan verilerin merkezi bir veri kataloğunu oluşturabilirsiniz. Bu, verileri hızlıca ve istediğiniz zaman analiz etmenizi sağlar. Böylece aynı verilere birden fazla analiz ve işleme çerçevesinin uygulanıp uygulanamayacağı sorusu yanıtlanır.
İlgili Makaleler
-
Blok zinciri nedir?
Bilgi Bankası Ekibi
-
CDN Nedir?
Bilgi Bankası Ekibi
Daha Fazla Özel Teklifi Keşfedin
-
Short Message Service (SMS) & Posta Hizmeti
50.000 e-posta paketi 1,99 USD'den başlayan fiyatlarla sunulurken, 120 kısa mesaj yalnızca 1,00 USD'den başlamaktadır.
