Database nədir ?

15 Dekabr 2025
6 dəqiqə oxu
Backend Development
backend sql database nosql mysql datascience postgresql

Giriş

Verilənlər bazası (database) — məlumatları strukturlu şəkildə saxlamaq, idarə etmək və əldə etmək üçün istifadə olunan sistemdir. Müasir informasiya texnologiyalarında demək olar ki, bütün proqram və sistemlər verilənlər bazasından istifadə edir. Bu, sadə siyahıdan tutmuş milyardlarla qeydi olan mürəkkəb sistemlərə qədər geniş spektri əhatə edir.

Database nədir?

Database — kompüter sistemində məlumatların məntiqi qruplaşdırılması və saxlanması üçün istifadə olunan təşkilat mexanizmidir. Verilənlər bazası tək bir fayl və ya mürəkkəb server klasteri şəklində ola bilər. Əsas məqsəd məlumatları təşkil etmək, sürətli əldə etmək, dəyişdirmək və təhlil etmək imkanı yaratmaqdır.

Database-lər "CRUD" prinsipinə əsaslanır: Create (yaratmaq), Read (oxumaq), Update (yeniləmək), Delete (silmək). Müasir database sistemləri transaksiya idarəetməsi, eyni vaxtda çoxlu istifadəçi dəstəyi, backup və bərpa mexanizmləri kimi xüsusiyyətlər təqdim edir.

Database Növləri

Əlaqəli Verilənlər Bazaları (Relational Databases)

Ənənəvi və ən geniş yayılmış database növüdür. Məlumatlar cədvəllər (tables), sətirlər (rows) və sütunlar (columns) şəklində təşkil olunur. SQL (Structured Query Language) vasitəsilə idarə edilir.

-- SQL nümunəsi - CREATE TABLE
CREATE TABLE users (
    id INT PRIMARY KEY,
    name VARCHAR(100),
    email VARCHAR(255) UNIQUE,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

Populyar nümunələr: MySQL, PostgreSQL, Oracle, SQL Server, SQLite

NoSQL Verilənlər Bazaları

Strukturlaşdırılmamış və ya yarı-strukturlaşdırılmış məlumatlar üçün nəzərdə tutulub. Əsasən böyük miqyaslı, yüksək performans tələb edən tətbiqlərdə istifadə olunur.

// MongoDB nümunəsi - JSON formatında
{
  "_id": "507f1f77bcf86cd799439011",
  "name": "Əli Məmmədov",
  "age": 28,
  "email": "ali@example.com",
  "skills": ["Python", "Django", "PostgreSQL"]
}

NoSQL növləri:

  • Document Databases: MongoDB, CouchDB
  • Key-Value Stores: Redis, DynamoDB
  • Column-Family Stores: Cassandra, HBase
  • Graph Databases: Neo4j, Amazon Neptune

Yaddaş Daxili Verilənlər Bazaları (In-Memory Databases)

Məlumatları yaddaşda (RAM) saxlayaraq maksimum sürət təmin edir. Adətən keşləmə, real-time analitika və yüksək tezlikli tətbiqlərdə istifadə olunur.

Nümunələr: Redis, Memcached, Apache Ignite

Database Xüsusiyyətləri

ACID Prinsipləri

Əlaqəli verilənlər bazalarının əsasını təşkil edən dörd prinsip:

  • Atomicity (Atomiklik): Transaksiya ya tam yerinə yetirilir, ya da heç yerinə yetirilmir
  • Consistency (Tutarlılıq): Database həmişə etibarlı vəziyyətdə qalır
  • Isolation (İzolyasiya): Paralel transaksiyalar bir-birindən asılı olmadan işləyir
  • Durability (Davamiliq): Tamamlanmış transaksiya sistem sıradan çıxsa belə qalır

Indexing (İndeksləmə)

Database-də axtarış sürətini artırmaq üçün istifadə olunan texnika. Kitabın indeksi kimi işləyərək, məlumatların fiziki yerləşməsindən asılı olmayaraq sürətli əldə edilməsini təmin edir.

-- SQL-də indeks yaratmaq
CREATE INDEX idx_email ON users(email);
CREATE INDEX idx_name_age ON users(name, age);

Normalizasiya

Database dizaynında məlumatların təkrarlanmasını minimuma endirmək və data tutarlılığını qorumaq üçün istifadə olunan proses. Adətən 1NF, 2NF, 3NF, BCNF formal normal formaları var.

Database Seçimi

Layihəniz üçün düzgün database seçimi kritik əhəmiyyət kəsb edir. Aşağıdakı amilləri nəzərə alın:

Amil Əlaqəli Database NoSQL Database
Data Strukturu Strukturlaşdırılmış, cədvəl formatında Yarı-strukturlaşdırılmış və ya strukturlaşdırılmamış
Miqyaslanma Şaquli (vertical) miqyaslanma Üfüqi (horizontal) miqyaslanma
Tutarlılıq Güclü tutarlılıq (ACID) Nəhayət tutarlılıq (Eventual Consistency)
Mürəkkəb Sorğular Əla (JOIN, subqueries) Məhdud
Yazma Performansı Orta Yüksək

Müasir Tendensiyalar

Bulud Database-ləri

Amazon RDS, Google Cloud SQL, Azure SQL Database kimi bulud əsaslı xidmətlər database idarəetməsini sadələşdirir. Xüsusilə kiçik və orta ölçülü şirkətlər üçün cəlbedicidir.

Serverless Databases

AWS Aurora Serverless, Google Firestore kimi database-lər infrastruktur idarəetməsi olmadan avtomatik miqyaslanma təklif edir.

Poliqlot Persistence

Tək bir layihədə fərqli database növlərindən (relational, document, graph) eyni anda istifadə etmə texnikası. Hər bir database özünün güclü tərəflərini layihəyə qatır.

Praktiki Məsləhətlər

Database optimallaşdırma üçün əsas tövsiyələr:

  1. Indexləri ağıllı istifadə edin: Çox sayda index yazma performansını aşağı salır
  2. Sorğuları optimallaşdırın: EXPLAIN əmrindən istifadə edərək sorğuları analiz edin
  3. Connection pool istifadə edin: Database bağlantılarını idarə etmək üçün
  4. Regular backup alın: Məlumat itkisinin qarşısını almaq üçün
  5. Monitoring edin: Database performansını daim izləyin
-- PostgreSQL-də yavaş sorğuların tapılması
SELECT query, calls, total_time, mean_time
FROM pg_stat_statements
ORDER BY mean_time DESC
LIMIT 10;

Nəticə

Database — hər hansı bir proqram təminatı sisteminin ürəyidir. Düzgün seçilmiş və optimallaşdırılmış database sistemi layihənizin performansını, miqyaslanabilirliyini və etibarlılığını əhəmiyyətli dərəcədə artıra bilər.

Müasir developer olaraq tək bir database texnologiyası ilə məhdudlaşmamaq, əksinə layihənizin tələblərinə uyğun ən yaxşı həlli seçmək vacibdir. Əlaqəli verilənlər bazalarının struktur və tutarlılıq üstünlüklərindən NoSQL database-lərinin çeviklik və miqyaslanma imkanlarına qədər geniş spektrdən istifadə edərək optimal həllər yarada bilərsiniz.

Database texnologiyaları sürətlə inkişaf etdiyi üçün daim yenilikləri izləmək və öz biliklərinizi təzələmək uğurun açarıdır.

Link kopyalandı!