NoSQL (Açıq şəkildə “Not Only SQL” – “Yalnız SQL deyil”) — ənənəvi münasibətli (relational) verilənlər bazası modellərinə alternativ olaraq yaranmış, qeyri-münasibətli (non-relational) verilənlər bazası sistemlərini təsvir edən ümumi bir anlayışdır. NoSQL sistemləri, böyük həcmli məlumatların çevik şəkildə saxlanması, emalı və miqyaslandırılması ehtiyacından doğmuşdur. Bu sistemlər strukturlaşdırılmış, yarı-strukturlaşdırılmış və ya strukturlaşdırılmamış məlumatların saxlanmasına imkan verir.
Münasibət əsaslı deyil:
Ənənəvi SQL bazaları cədvəllərlə işləyir, lakin NoSQL sistemlərində bu struktura məcburiyyət yoxdur. Məlumatlar sənəd (document), açar-dəyər (key-value), sütun əsaslı (column-family) və ya qraf (graph) formasında saxlanıla bilər.
Yüksək miqyaslana bilmə (scalability):
NoSQL sistemləri üfüqi (horizontal) miqyaslandırmanı dəstəkləyir, yəni serverlər əlavə edilərək sistemin gücü artırılır.
Esneklik və sürət:
Fərqli tipli və dəyişkən strukturlu məlumatlarla işləməyə imkan verir. Bu, sürətli inkişaf dövründə və müxtəlif mənbələrdən gələn məlumatların toplanmasında üstünlükdür.
Şemaya ehtiyac yoxdur:
Əvvəlcədən müəyyən edilmiş məlumat strukturu (schema) tələb olunmur. Məlumatlar dinamik olaraq dəyişə bilər.
Yüksək performans:
Bəzi istifadə hallarında, NoSQL sistemləri münasibətli bazalardan daha sürətli nəticələr verir – xüsusilə oxuma və yazma əməliyyatlarında.
Document-based (Sənəd əsaslı):
Məlumatlar JSON, BSON və ya XML formatında saxlanılır.
Məsələn: MongoDB, CouchDB
Key-Value Store (Açar-Dəyər):
Hər bir məlumat bir açar və dəyər cütü formasında saxlanılır.
Məsələn: Redis, DynamoDB
Column-Family Store (Sütun əsaslı):
Məlumatlar sütun qrupları şəklində təşkil olunur.
Məsələn: Apache Cassandra, HBase
Graph Database (Qraf əsaslı):
Qovşaq (node) və əlaqələr (edge) şəklində məlumat saxlanır – sosial şəbəkələr, tövsiyə sistemləri üçün idealdır.
Məsələn: Neo4j, ArangoDB
NoSQL verilənlər bazası sistemləri ənənəvi SQL bazalarına güclü alternativdir və müasir tətbiqlərin bir çoxunda daha çevik, sürətli və miqyaslana bilən həllər təklif edir. Lakin tətbiqə uyğun olaraq hansının daha əlverişli olduğunu müəyyənləşdirmək vacibdir — bəzi hallarda ənənəvi SQL, bəzi hallarda isə NoSQL üstün ola bilər.
IT sahəsini dərindən öyrənmək üçün kurslarımıza qoşulun. Ətraflı məlumat almaq üçün sorğu göndərin!