İnternet üzerinde ulaştığımız birçok veri (bilgi), database denilen veri tabanlarında saklanır. Günümüzde neredeyse her bilginin dijital ortama aktarılması ve oradan yönetilmesi nedeniyle database sistemlerine ihtiyaç doğmuştur. İsterseniz “Veri nedir?” “Veri tabanı (database) nedir?” soruları üzerinden giderek konumuzu detaylandıralım.

Veri Nedir?

Veri bir konu ile ilişkili ve onu ifade eden gerçeklere denebilir. Bir resim, video, ses, dosya, PDF, yaşınız, kilonuz, adınız ve soyadınız gibi bilgilerin her biri birer veridir. Bilgi yazılımlardan bağımsızdır ve zaman geçse de ve o bilgiyi işleyen programlar değişse de bilgi değişmez. O yüzden verilerin (bilgilerin) sürekliliği ve saklanması önemlidir.

Database (Veri Tabanı) Nedir?

Database (Veri Tabanı) birbiriyle ilgili verilerin bir arada bulundurularak toplandığı, sınıflanarak depolandığı alanlara denir. Verileri türüne göre sınıflamak, gruplamak, birbirinden ayırmak verilerin kontrol ve idaresini kolaylaştırır.

Veriler “Table” adıyla oluşturulmuş tablolarda gruplandırılır, bu “Table” denilen birimler, az çok Excell tablolarına benzeyen satırlar ve sütunlar üzerinde gruplanır, kontrol ve yönetimi de komutlar yardımıyla gerçekleşir.

Örneğin bir doğalgaz şirketinin abonelerine ait, abone numarası, sayaç numarası, geçmiş fatura bilgileri, ödenmemiş fatura bilgileri, tüketim miktarı gibi veriler düzenli bir şekilde bir Database’de saklanır ve istenildiği zaman database ile bağlantılı programlar yardımıyla organize bir şekilde geri çağrılabilir. 

Database (Veritabanı)

Yine basit bir örnek vermek gerekirse telefonlarımızda bulunan rehberler birer Database’dir. Kişi adı, soyadı, telefon varsa e-mail gibi veriler, gruplar halinde kişilere atanır ve istendiği zaman herhangi bir kişiye ait telefon numarasına “Telefon Rehberi” uygulaması yardımıyla ulaşılır.

Günümüzde veri kaydetmek, onları düzenlemek ve yönetmek, DBMS (Data Base Management System) Veri Tabanı Yönetim Sistemleri adı verilen çeşitli araçlarla yapılmaktadır.

Veri Tabanı (Database) Türleri Nelerdir?

Dağıtık Veritabanı (Distributed Database)

Adından anlaşılacağı üzere bu veri tabanı türünde bilgiler dağıtılmış olarak farklı farklı veri tabanında dağıtılmış olarak saklanır. Her bir veri tabanı bilgisayar ağı yardımıyla birbirine bağlıdır ve tek bir veri tabanı gibi kullanılabilir. Bu şekilde kullanım, database için gelişmiş donanım özellikleri kullanıma ihtiyacı azaltır. 

İlişkisel Veritabanı (Relational Database)

Günümüzde en çok tercih edilen veri tabanı yönetim sistemleri ilişkisel veritabanı sistemini kullanmaktadır. Tablolar halindedir satırlar ve sütunlar vardır, sayısal ve sözel içeriklerden meydana gelmektedir ayrıca bilgi ekleyip çıkarmak kolaydır.

E.F Codd tarafından 1970 yılında geliştirilmiş ve 1980 lerin başlarında kullanılmaya başlanmıştır. Bu tür veri tabanlarında varlıklar bire-bir, bire-çok ve çoka-çok ilişkilendirme yapılabilmektedir.

Merkezi Veritabanı (Centralized Database)

Dağıtık veri tabanının tam tersi mantıkta çalışan veri tabanı türleridir. Birçok bilgisayardan toplanan veri tek bir veri tabanın (Database) da saklanır. Veri tabaını kullanan her birim kendilerine tanınan yetkilerle kendi verilerini kontrol edip yönetebilmektedir.

Bu uygulama, örneğin bir otorite kontrollü işlem yapan sermaye şirketlerine ait verilerin tek bir Database’de saklanması için kullanılabilir. Böylece tüm veriler bir otorite tarafından kontrol edilmiş ve manipülasyonun önlenmesi sağlanmış olur.

Bulut Veritabanı (Cloud Database)

Bulut (Cloud) platformlarda optimize edilerek sanallaştırılmış veri tabanı türleridir. Sanal ortamda oluşturulmuş veri tabanı hem ölçeklendirme hemde kullanılabilirlik açısından daha avantajlıdır.

Nesneye Yönelik Veritabanı (Object Oriented Database)

Bu database türünde veriler nesneler biçiminde çalışır. Sesten videoya, yazıdan grafiğe kadar çeşitlilikte veri çeşitleri özel programlar vasıtasıyla organize edilir. Bir proglama diliyle oluşturulan nesneler veri tabanı nesnesi olarak algılanır.

Açık Kaynak Veritabanı (Open Source Database)

Yine adından anlaşılacağı üzere açık kaynak kodlu ve erişime açık, veri tabanı üzerinde çeşitli işlemler yapmanıza olanak veren ücretsiz database türleridir. Bu veriler farklı kaynaklardan elde edilir ve çeşitli kuruluşlarca yayınlanır. Makine öğrenmesi ve yapay zeka modellerinde kullanılan veriler bu tarz veri tabanları üzerinden alınmaktadır.

NoSQL Veritabanı (NoSQL Database)

Çok büyük veri kümelerinin olduğu veri tabanları ilişkilendirilmiş database mantığıyla çalıştığı zaman çok fazla transaction işlemek gerekir ve bu da sistem kaynaklarına aşırı yük bindirmekteydi bu sebeple NoSQL veri tabanları oluşturuldu. Bazı transaction özelliklerinden feragat ederek ve veriyi dağıtarak bu sorun çözüldü. Yani büyük boyutlu ve yapılandırılmamış verileri analiz etmek için NoSQL veri tabanı sistemleri kullanmak gerekir.

Grafik Veritabanı (Graph Database)

Bu tarz veritabanı uygulamasında verilerin depolanması, indekslenmesi ve sorgulanması grafik teorisi üzerinden yapılır. Bu database çeşidinde Node (varlıklar) ve Edge (ilişkiler) mantığı vardır. Özellikle sosyal ağ oluşturmada bu veri tabanı modeli kullanılmaktadır.

İlişkisel veri tabanı ile NoSQL veritabanlarındaki performans sorunları ve karmaşık hiyerarşik verileri işleme sorunları ortadan kalkar.

Kişisel Veri Tabanı (Personal Database)

Kişisel verilerin depolandığı veri tabanlarıdır. Örneğin bir şirketin aynı departmanındaki personelin kullandığı veritabanı buna örnek olarak verilebilir.

Belge/JSON Veri Tabanı (Document/JSON Database)

Belge odaklı bir veri tabanı türüdür veriler, satır ve sütunlar yerine JSON, XML ve BSON formatlarında oluşturulan koleksiyonlarda saklanır.

Database Bileşenleri Nelerdir?

Donanım

Veritabanında kullanılan tüm bilgisayar depolama cihazı gibi, elektronik cihazlar bu başlık altında toplanabilir. Veriler fiziki olarak bu donanımlar üzerinden ulaşılır ve onlar sayesinde saklanır.

Yazılım

Bir veri tabanını yönetebilmek için oluşturulmuş programlar bu kategoride değerlendirilmelidir. Örneğin elimizde bir siteye ait aidat ödeme verilerini saklayabilmek için nasıl bir bilgisayara ve excel programına ihtiyacımız varsa, veritabanını düzenlemek ve bilgiyi almak için de benzer yazılımlara ihtiyacımız vardır.

Veri

Veri bu işin merkezindeki en temel nesnedir. Ancak bu nesneler ham haldeyken ve  organize edilmemiş, düzenlenmemiş olsa istenilen veriyi bulmamız uzun bir süre kaybına yol açabilir. Bu sebeple veritabanı yönetim sistemleri oluşturulmuştur.

Veri Tabanı Erişim Dili

Veri tabanı yönetim sistemi kullanılsa dahi bu arayüz üzerinden veriye ulaşmak için bir dizi komut ve erişim dili kullanmak gerekir. Bu bileşen de işimizi kolaylaştırır ve kurallar haline getirmemizi sağlar.

Veri Tabanı Yönetim Sistemi (Database Management System) DBMS Nedir?

Belirli güvenlik kuralları ve yetkilendirme metodları ile veriye ulaşmak değiştirmek ve organize etmemize yardımcı olan komplike sistemlerdir. Veri tabanı yönetim sistemleri sayesinde kullanıcılar, üçüncü kişiler ve sistemi organize edenler kolaylıkla veri tabanına erişir veya yönetir. Genelde ücretli veya bazen ücretsiz olabilen DBMS sistemleri bulunur. İsterseniz en çok bilinen Database Management System (DBMS) ler hangileridir onlardan bahsedelim.

DBMS (Database Management System) Çeşitleri

MySQL

En çok bilinen veritabanı yönetim sistemi MySQL’dir. Web sunucularının en çok  kullandığı DBMS’ dir. ASP ve PHP gibi web programlama dilleri ile kullanılabilir. Altı milyondan fazla sistemde yüklü ve çok kullanıcılı bir sistemdir. Ticari kullanımı lisans gerektirir ve Oracle tarafından lisanslama yapılmaktadır.

SQLite

Açık kaynak kodlu, bir program yüklemeden web tabanlı olarak çalışılabilen ve halka açık bir veri tabanı motorudur.  SQLite birçok programlama dili içinde kolayca kullanılabilmektedir. D. Richard Hipp tarafından 2000 yılında Amerikan Donanması için tasarlandı ve açık kaynak kodlu olarak herkesin kullanımına açıldı. SQLite, sunucusuz işlemsel bir SQL (Structured Query Language) yapılandırılmış sorgu dili veri tabanı motoru kullanmaktadır.

MariaDB

MariaDB, MySQL in kodlarından fork edilen ve açık kaynak kodlu hale getirilen bir Database Management System’ idir. GNU Kamu lisansı ile dağıtılmaktadır. Topluluk tarafından geliştirilmeye devam ediliyor. MySQL den türetildiği için birebir aynıdır. Ücretsiz kullanımı nedeniyle de oldukça popülerdir.

MongoDB

Belge tabanlı veritabanı türü olan MongoDB, açık kaynak kodludur ve ücretsiz kullanıma açıktır. Verileri JSON (JavaScript Object Notation) belgeleri şeklinde saklar. Ayrıca dağıtık yapıda olduğu için yatayda ve dikeyde ölçeklendirme şansı vermektedir.

Oracle

Oracle veritabanı yönetim sistemi, ilişkisel veri tabanı türüdür ve Oracle firması tarafından geliştirilmiştir. Ücretli olarak lisanslanır, büyük verilerin saklanması ve yönetildiği bilinen veri tabanı yönetim sistemlerindendir.

PostgreSQL

PostgreSQL nesne yönelik ve ilişkisel veritabanı türlerindendir. Açık kaynak kodlu ve ücretsiz lisanslama imkanı veriyor. Performanstan öte stabilite mantığıyla çalışan ve verilerin sağlamlığının önem arz ettiği durumlarda tercih edilir.

Microsoft Access

Microsoft firması tarafından kurgulanan Access, bir ilişkisel veri tabanı yönetim sistemidir. Küçük ölçekli veritabanları için oldukça kullanışlıdır. Bir veritabanı dosyasında birden fazla tablo oluşturabilir, bu tablolar arasında ilişki kurabilirsiniz. Kullanıcı arayüzü sayesinde geleneksel veri tabanı yönetim sistemlerindeki gibi yazmanız gereken karmaşık komutlar dizisi yerine kolayca veri yönetimi yapabilirsiniz.

Microsoft SQL Server

Sybase SQL Server tarafından geliştirildi ve Microsoft tarafından satın alındıktan sonra Microsoft SQL Server ile veritabanı piyasasına giriş yapıldı. Birçok versiyona sahip olan Microsoft SQL Server kısıtlı olanaklarla ücretsiz bir versiyon kullanma imkanı da sunuyor. Enterprise sürümü yüksek maliyetiyle göze çarpıyor.