Global Data Dictionary (GDD), bir veritabanı yönetim sisteminde (DBMS) veritabanının kendisine ilişkin tüm bilgileri ve detayları saklayan merkezi bir depodur. MySQL 8.0'da tanıtılan Global Data Dictionary, önceki sürümlerde metadatayı yönetmek için kullanılan dosya tabanlı yaklaşımın yerini almıştır.
Global Data Dictionary'nin özellikleri şunlardır:
Metadatanın Merkezileştirilmesi: GDD, tablolar, indeksler, sütunlar, prosedürler, tetikleyiciler gibi tüm veritabanı nesneleri hakkında bilgi içerir. Bu bilgi merkezi bir yerde saklandığından, veritabanı yönetimi daha etkin hale gelir.
Daha İyi Performans: GDD, InnoDB depolama motoru tarafından desteklenir, bu da veritabanı nesnelerinin daha hızlı yüklenmesine ve sorgulanmasına imkan tanır. İlgili metadatanın daha hızlı alınması, genel sorgu performansını artırabilir.
İşlem Güvenliği: GDD, işlem güvenliğini destekler, bu da DDL (Veri Tanım Dili) işlemlerinin atomic (bölünmez) olmasını sağlar. Bir DDL işlemi başarısız olursa, tüm değişiklikler geri alınır, böylece veritabanının bütünlüğü korunur.
Sürüm Yönetimi: GDD, metadatanın farklı sürümlerini yönetmeye olanak tanır. Bu, eski ve yeni sürümler arasında geçiş yapmayı kolaylaştırır ve yükseltmeleri daha az riskli hale getirir.
Doğrudan Erişim Engelleme: Global Data Dictionary, kullanıcıların doğrudan dosya sistemine erişerek yapısını değiştirmesini engeller. Bu, veritabanının bütünlüğünü ve güvenliğini artırır.
Daha İyi Arama ve İzleme Olanakları: GDD, veritabanı nesnelerinin daha etkin bir şekilde sorgulanmasını ve izlenmesini sağlar. Bu, yöneticilerin veritabanı yapılarını daha iyi anlamalarına ve yönetmelerine yardımcı olur.
Özetle, Global Data Dictionary, veritabanı metadatasının merkezi, tutarlı ve güvenli bir şekilde saklanmasını sağlar. Bu, veritabanının performansını, bakımını ve güvenliğini artırabilir ve yönetim işlerini kolaylaştırır. MySQL 8.0'da tanıtılan bu özellik, veritabanı işlemlerinin daha verimli ve güvenli hale gelmesine yardımcı olur.
MySQL 8.0'da Global Data Dictionary (GDD), InnoDB depolama motoru tarafından tutulur ve işlenir. InnoDB, GDD'yi disk üzerinde saklar, ve bu veriler InnoDB tablolarında depolanır. İlgili detaylar şunlar olabilir:
Fiziksel Saklama: Global Data Dictionary, InnoDB tablolarında saklanır. Bu tablolar, MySQL veritabanının bulunduğu sunucunun disk üzerinde özel bir dizinde yer alır. Bu dizin genellikle MySQL kurulumunun bir parçası olarak belirlenir.
Metadatanın Yapısı: GDD, tablolar, sütunlar, indeksler, türevler, görünümler, yabancı anahtar kısıtlamaları, prosedürler, tetikleyiciler vb. gibi veritabanı nesnelerinin tüm özelliklerini içerir. Her biri, belirli InnoDB tablolarında saklanır.
Veritabanı İlişkileri: GDD, veritabanı şemalarının, tabloların, sütunların ve diğer veritabanı nesnelerinin ilişkilerini de saklar. Bu, hem yapısal hem de bağımsızlık ilişkilerini içerir, böylece bir nesnenin diğer nesnelerle olan ilişkileri kolayca sorgulanabilir.
Erişim Kontrolü: GDD, InnoDB tarafından doğrudan yönetildiğinden, doğrudan dosya erişimi mümkün değildir. Bu, veritabanı bütünlüğünü ve güvenliğini artırır.
Yüksek Verimlilik: GDD'nin InnoDB tarafından işlenmesi, işlemlerin atomic olmasını ve ACID uyumlu olmasını sağlar. Bu, veritabanı işlemlerinin güvenliğini ve verimliliğini artırır.
Özetle, MySQL 8.0'ın Global Data Dictionary'si, veritabanı metadatasını merkezi bir şekilde InnoDB tablolarında saklar. Bu, veritabanının yapısal organizasyonu, güvenliği, performansı ve bakımı açısından birçok avantaj sunar. Gelişmiş bir veritabanı yönetim sisteminde metadatanın nasıl yönetildiğini anlamak, veritabanı tasarımı ve yönetimi konusunda daha derin bir anlayış kazandırabilir.
MySQL 8.0'da Global Data Dictionary'nin (GDD) fiziksel olarak saklandığı dosya yolu, MySQL veritabanının kurulu olduğu sunucu ve özelleştirilen yapılandırma ayarlarına bağlı olarak değişebilir.
Genel olarak, GDD InnoDB depolama motoru tarafından saklandığından, bu bilgiler InnoDB sistem tablolarında yer alır. Bu tablolar, genellikle InnoDB'nin veri dizininde bulunur.
MySQL'ın yapılandırma dosyası (my.cnf veya my.ini) içinde datadir olarak belirtilen yol, genellikle veritabanı dosyalarının saklandığı yerdir. Örneğin, bu dosyada şu şekilde bir satır olabilir:
datadir=/var/lib/mysql
Bu durumda, GDD'ye ait dosyalar /var/lib/mysql dizini içinde yer alır.
Bu yapılandırma dosyasında özel olarak belirtilmemişse, MySQL'in kurulu olduğu işletim sistemine ve dağılıma göre varsayılan bir yol kullanılır. Örnek olarak, bazı Linux dağılımlarında varsayılan yol /var/lib/mysql olabilirken, Windows'ta farklı bir yol olabilir.
Sunucu yöneticisi veya veritabanı yöneticisi iseniz, MySQL yapılandırma dosyasını kontrol ederek veya MySQL komut satırından
SHOW VARIABLES LIKE 'datadir';
komutunu çalıştırarak bu yolu doğrudan öğrenebilirsiniz.