Veritabanları nelerdir?
Veritabanı tanımları, türleri ve örnekleri
Veritabanları nelerdir?
En temel tanımıyla bir veritabanı birbiriyle ilişkili veriler koleksiyonudur. Bir kağıt parçasına alışveriş listesi yazdığınızda küçük bir analog veritabanı oluşturursunuz. Peki bilgisayar biliminde veritabanı nedir? Bu bağlamda "veritabanı", market alışverişinizin envanteri gibi bilgisayar sisteminde veri olarak depolanan bilgilerin koleksiyonudur.
Veritabanları ne amaçla kullanılır?
Veritabanları veri yönetimini ve erişimini kolaylaştırmak üzere verileri depolamak ve düzenlemek için kullanılır. Veri koleksiyonu büyüdükçe ve daha karmaşık hale geldikçe, bu verileri düzenli, erişilebilir ve güvenli tutmak da daha zor hale gelir. Bu konuda yardımcı olmak için bir yönetim araçları katmanı içeren veritabanı yönetim sistemlerini (DBMS) kullanırsınız.
Veri nedir?
Veri terimi tek bir kişi, konum, öğe veya nesne (varlık olarak adlandırılır) hakkında yakalanan ve depolanan tüm bilgilere, ayrıca söz konusu varlığın özniteliklerine karşılık gelir.
Örneğin, yerel restoranlar hakkındaki bilgileri yakalıyor ve depoluyorsanız, her restoran bir varlıktır ve restoranın adı, adresi ve çalışma saatleri de öznitelikleridir. Gözde restoranlarınız hakkında topladığınız ve depoladığınız tüm bilgiler veridir.
Veritabanı türleri
Veritabanları kabaca ilişkisel ve ilişkisel olmayan veritabanları olarak gruplandırılır. İlişkisel veritabanları son derece yapılandırılmıştır ve Yapılandırılmış Sorgu Dili (SQL) adlı bilgisayar dilini anlar. İlişkisel olmayan veritabanları son derece çeşitlilik gösterir ve çeşitli veri yapılarını destekler. İlişkisel olmayan veritabanlarının birçoğu SQL kullanmadığından, bunlar genellikle NoSQL veritabanı olarak adlandırılır.
Veri yapısı türleri
Tablo yapıları, verileri satırlar ve sütunlar halinde düzenleyen ilişkisel veritabanı yapılarıdır; satırlar varlıkları, sütunlar da varlık özniteliklerini içerir. Geniş tablolar veya geniş sütun depoları, tabloda bulunabilecek toplam sütun sayısını büyük oranda artırmak için boş özniteliklerin bulunduğu yedek sütunlar kullanır. Bazı alanlar boş olduğundan, geniş tablolar ilişkisel olmayan veritabanı yapısının bir örneğidir.
Doğrusal yapılar, öğeleri sıralı olarak düzenler.
Dizi
Bağlantılı liste
İkili ağaç
Ağaç yapıları öğeleri tek bir kök düğümden kaynaklanan hiyerarşik bir düğüm veritabanında, üst–alt ilişkisi içinde düzenler.
Graf
Graf yapıları, öğeleri hiyerarşik olmayan ve birbirleriyle karmaşık ilişkileri olan düğümlerden oluşmuş bir ağda düzenler.
Karma tablo
Karma tabanlı yapılar, karma tablolara dizinler atama yoluyla ilgili verileri ilişkilendiren karma işlevler kullanarak anahtarları değerlere eşler.
Belge odaklı veritabanları
Belge odaklı veritabanları, bir varlık hakkındaki bilgileri tek bir nesnede (belge) düzenler ve bu nesne diğer nesnelerden ayrı durur. Nesnelerin birbirlerine göre eşlenmeleri gerekmez ve tek bir nesne diğerlerini etkilemeden düzenlenebilir.
İlişkisel veritabanları
En yaygın tür olan ilişkisel veritabanında, veriler her varlıkla ilgili bilgilerin barındırıldığı ve satırlarla sütunlar aracılığıyla önceden tanımlanmış kategorilerin gösterildiği tablolarda düzenlenir. Bu yapılandırılmış veriler erişim açısından hem verimli hem de esnektir.
İlişkisel olmayan veritabanları
İlişkisel olmayan veritabanlarında yapılandırılmış veya yarı yapılandırılmış veriler depolanır. Sütunları ve satırlarıyla tabloları ilişkisel veritabanlarının kullandığı şekilde kullanmazlar. Bunun yerine, depolanan veri türlerinin özel gereksinimleri için iyileştirilmiş bir depolama modeli kullanırlar. İlişkisel olmayan veritabanları, daha büyük bir dağıtılmış veri kümesinde hızlı erişim, güncelleştirme ve analize olanak tanır.
Bazı ilişkisel olmayan veritabanları, NoSQL veritabanları olarak adlandırılır. NoSQL ifadesi sorgular için SQL kullanmayan veya yalnızca SQL kullanmayan veri depolarına karşılık gelir. Bunun yerine, NoSQL veritabanları verileri sorgulamak için başka programlama dilleri ve yapıları kullanır. Birçok NoSQL veritabanı SQL ile uyumlu sorguları destekler ama bu sorguları yürütme şekilleri çoğunlukla geleneksel bir ilişkisel veritabanının aynı SQL sorgusunu yürütme şeklinden farklıdır.
İlişkisel olmayan veritabanı türlerinden biri olan nesne veritabanı, nesne odaklı programlama kullanır. Nesneler alan veya değişkende depolanan bir durum (gerçek veriler) ve yöntem veya işlev aracılığıyla görüntülenen bir davranış ile kodlanır. Nesneler sürekli olarak kalıcı depolamada tutulabilir, API veya araç kullanmadan doğrudan eşlenebilir ve bu da verilere daha hızlı erişim ve daha iyi performans getirir. Öte yandan nesne veritabanları diğer veritabanı türleri kadar popüler değildir ve desteklemek zor olabilir.
Bellek içi veritabanları ve önbellekler
Bellek içi veritabanındaki verilerin tümü bilgisayarın rastgele erişim belleğinde (RAM) depolanır. Bu tür bir veritabanını sorguladığınızda veya güncelleştirdiğinizde, doğrudan ana belleğe ulaşırsınız. Disk bu sürece dahil olmaz. Ana kartta işlemcinin yakınında yer alan ana belleğe erişmek diske erişmekten çok daha hızlı olduğundan, veriler hızla yüklenir.
Bellek içi veritabanları yaygın olarak fiyatlandırma veya envanter verileri gibi sık erişilen bilgilerin kopyalarını depolamak için kullanılır. Bu işlem, önbelleğe alma olarak bilinir. Verileri önbelleğe aldığınızda, bir sonraki sefer istendiğinde daha hızlı yüklenmesi için verilerin bir kopyasını geçici bir konuma depolarsınız. Önbelleğe alma hakkında daha fazla bilgi edinin.
Veritabanı örnekleri
Finansal işlemler
Bankalar, bakiye sorgularından hesaplar arasındaki transferlere kadar tüm müşteri işlemlerini izlemek için veritabanlarını kullanır. Bu işlemlerin neredeyse anında gerçekleştirilmesi gerekir ve çok büyük miktarlardaki işlemlerden gelen veriler her zaman güncel olmalıdır. Bu amaçlarla bankalar ilişkisel veritabanlarıyla oluşturulan ve çok fazla sayıda müşteriyi, işlemlerden gelen sık değişen verileri ve hızlı yanıt sürelerini işleyebilecek çevrimiçi işlem gerçekleştirme sistemleri kullanır.
E-ticaret katalogları
Bir e-ticaret web siteniz varsa, kataloğunuzda her birinin kendi öznitelik çeşitlemeleri olan tek tek ürünler yer alır. İlişkisel olmayan bir veritabanı örneği olan belge odaklı veritabanı, tek bir ürünün tüm özniteliklerini tanımlamak için tek tek belgeler kullanır. Diğer ürünlerden hiçbirini etkilemeden belgedeki öznitelikleri değiştirebilirsiniz. Bellek içi veritabanları genellikle veri alımını hızlandırmak ve veritabanının yükünü azaltmak için envanter ve fiyatlandırma gibi sık erişilen e-ticaret verilerini önbelleğe almak için kullanılır.
Sosyal ağlar
Bir sosyal ağa katıldığınızda, bilgileriniz söz konusu ağı kullanan herkesin ilişkisel olmayan bir veritabanına eklenir. Bu ağdaki diğer kişilerle bağlantı kurduğunuzda sosyal grafiğin bir parçası olursunuz. Bu nedenle arkadaşlarınızın veya profesyonel bağlantılarınızın filtrelenmiş bir listesini görebilir, söz konusu arkadaşların ve bağlantıların tanıdığı yeni kişileri keşfedebilirsiniz.
Kişiselleştirilmiş sonuçlar
İlişkisel olmayan veritabanları, artık gözden kaçırabileceğiniz kadar yaygınlaşmış olan çevrimiçi kişiselleştirmeyi yönlendirir. Bir seyahat web sitesi üzerinden uçuş rezervasyonu yaparsanız, size otel rezervasyonu ve araç kiralama seçenekleri de gösterilir. Web sitesinin veritabanında uçuş ayrıntılarınız, seyahat tercihleriniz, önceki araç kiralamalarınız veya otel rezervasyonlarınız gibi yapılandırılmamış zengin bilgiler bulunur ve bu bilgiler size zamandan ve paradan tasarruf etmenizi veya daha az işlem yapmanızı sağlayacak kişisel öneriler sunmak için kullanılır. Benzer şekilde bellek içi veritabanları, bir uygulamayı kullanırken arama tercihleri veya alışveriş sepeti gibi geçici kullanıcı verilerinin verimli bir şekilde barındırıldığı bir oturum deposu olarak kullanılır.
İş analizi
Kuruluşlar kendi verilerinden içgörüler elde etmek istediğinde, ilişkisel veritabanları analizlerini yönetmelerine yardımcı olur. Örneğin bir teknoloji yardım masası müşteri sorunlarını sorun türü, sorunu çözme süresi ve müşteri memnuniyeti gibi çeşitli açılardan izleyebilir. Tablo yapısı kullanan bir ilişkisel veritabanı müşteri sorunu verilerini bir kerede yalnızca iki boyut kullanarak düzenler; ama çevrimiçi analitik işlem sistemiyle, yardım masası bir kerede birden fazla tabloya bakabilir. Böylelikle çok büyük miktarlarda verinin yüksek hızlarda işlenmesi için çok boyutlu analize olanak tanınır.
Veritabanı yönetim sistemleri
Veritabanı yöneticileri, özellikle de büyük verilerle çalışırken verileri denetlemek için veritabanı yönetim sistemlerini (DBMS) kullanır. Büyük veri, genellikle sistem tarafından gerçek zamanlı veya neredeyse gerçek zamanlı olarak alınan büyük hacimli yapılandırılmış ve yapılandırılmamış verilere karşılık gelir. DBMS, birden çok uygulama arasında kullanılan veya birden çok konumda tutulan verileri yönetmeye de yardımcı olur.
Farklı yönetim sistemleri farklı düzenleme, ölçeklenebilirlik ve uygulama düzeyleri sunar. Kullandığınız DBMS, düzenlemek istediğiniz veri türüne ve buna nasıl erişmek istediğinize ek olarak, verilerinizin nerede tutulduğuna, veritabanınızın kullandığı mimari türüne ve nasıl ölçeklendirmeyi planladığınıza da bağlıdır.
Verilerinizin şirket içinde mi, bulutta mı yoksa her ikisinde birden mi tutuluyor?
Şirket içi veritabanlarında, veriler özel şirket içi donanımında (genellikle özel bulut olarak adlandırılır) tutulur. Veri kapasitesi eklemek için, veritabanı yöneticilerinin şirket içi sunucularında yeterli alan bulunduğundan emin olmaları ya da alan oluşturmak üzere altyapılarını yeni donanımla genişletmeleri gerekir.
Bulut tabanlı veritabanlarında, yapılandırılmış veya yapılandırılmamış veriler özel, genel veya karma bulut bilişim platformunda (özel ve genel bulut depolamasını birleştiren platform) tutulur. Bulut veritabanları sanallaştırılmış bir ortam için tasarlandığından, bunlar hem üst düzeyde ölçeklenebilir hem de üst düzeyde kullanılabilir veritabanlarıdır. Ayrıca o kadar fazla donanım satın almanız gerekmediğinden ve yalnızca kullandığınız depolama alanı için ödeme yaptığınızdan, bunlar maliyeti düşürmeye de yardımcı olur.
Veritabanı mimariniz merkezi, dağıtılmış veya federasyon mu?
Merkezi bir veritabanında verilerin tümü tek sistemde, tek bir yerde tutulur. Bu tek sistem tüm kullanıcılar için erişim noktasıdır.
Dağıtılmış bir veritabanı hem ilişkisel hem de ilişkisel olmayan veritabanı türlerine yayılabilir. Dağıtılmış veritabanlarında veriler birden çok fiziksel konumda depolanır. Bu konumlar birden çok şirket içi bilgisayarında yer alır veya bağlantılı bilgisayarlardan oluşturulmuş bir ağa dağılmış olur.
Federasyon veritabanında, bağımsız sunucular üzerinde çalıştırılan birkaç ayrı veritabanı tek bir büyük nesnede birleştirilir. Blok zinciri, finansal kayıt defterlerini ve diğer işlem kayıtlarını güvenli bir şekilde yönetmek için kullanılan bir federasyon veritabanı türüdür.
Ölçeği büyüterek veya genişleterek verilerinizle birlikte büyüyecek misiniz?
Dikey ölçeklendirme olarak da adlandırılan ölçeği büyütme (veya küçültme), mevcut sunucuya bellek veya daha güçlü CPU'lar gibi kaynaklar ekleme işlemidir.
Yatay ölçeklendirme olarak da adlandırılan ölçeği genişletme (veya daraltma), kaynak havuzunuza daha fazla makine ekler.
Dikey ölçeklendirme yerine yatay ölçeklendirmenin kullanılması, mevcut donanımınızın yaşam döngüsünü uzatır, size bir satıcıya bağlı kalmadan yükseltme özgürlüğü getirir ve uzun vadede esneklik potansiyeli oluşturur.
Azure veritabanları
Ölçeklenebilirliği, kullanılabilirliği ve güvenliği otomatikleştiren ve tam olarak yönetilen veritabanlarıyla veri işlemlerinizi basitleştirin. Üzerinde mülkiyet hakları bulunan ve açık kaynak altyapılara yayılan ilişkisel, NoSQL ve bellek içi veritabanları arasından seçim yapın.
Azure SQL veritabanı ailesiyle tanışın
Uyumluluktan ödün vermeden SQL portföyünüzü birleştirin. Tanıdık SQL Server teknolojisini kullanarak uygulamaları uçtan buluta kadar kendi seçtiğiniz yöntemle geçirin, modernleştirin ve dağıtın.
PostgreSQL için Azure Veritabanı ile korkmadan ölçeklendirin
PostgreSQL için Azure Veritabanı iş yükünüzü yüksek kullanılabilirlik, yapay zeka ile güçlendirilmiş performans iyileştirmesi ve gelişmiş güvenlikle, hızla ve güvenle ölçeklendirmenize yardımcı olur.Azure PostgreSQL hakkında daha fazla bilgi edinin
Azure Cosmos DB ile yüksek performanslı uygulamalar oluşturun
Azure Cosmos DB, açık API'leri ve her ölçekte hız garantisiyle tam olarak yönetilen bir NoSQL veritabanıdır.Azure Cosmos DB hakkında daha fazla bilgi edinin
Redis için Azure Cache ile yoğun trafiği verimli bir şekilde işleyin
Redis için Azure Cache, uygulamanızın mimarisine bir hızlı önbellek katmanı ekleyerek binlerce eşzamanlı kullanıcıyı neredeyse anında işlemenize yardımcı olur.Redis için Azure Cache hakkında daha fazla bilgi edinin