دیتابیس (Database) یا پایگاه داده محلی برای ذخیره و مدیریت سازمانیافته داده است. موتور دیتابیس علاوه بر نگهداری داده میتواند برای Query، Index، تراکنش، کنترل همزمانی، Replication و بازیابی پس از خرابی امکاناتی فراهم کند. همه دیتابیسها ساختار یکسانی ندارند.
انواع مهم دیتابیس
| مدل | محصولات نمونه | کاربرد رایج |
|---|---|---|
| رابطهای | MySQL، PostgreSQL، SQL Server | سفارشها، پرداختها و داده رابطهای |
| سندی | MongoDB | کاتالوگ با فیلدهای متنوع |
| کلید-مقدار | Redis، DynamoDB | Cache، Session و دسترسی بر اساس کلید |
| گراف | Neo4j | رابطههای پیچیده و پیمایش گراف |
| سری زمانی | InfluxDB، TimescaleDB | Metric و داده وابسته به زمان |
| برداری | pgvector، Milvus | جستوجوی Embedding و RAG |
چه زمانی SQL و چه زمانی NoSQL؟
وقتی دادهها رابطههای روشن، قید یکپارچگی و تراکنش پیچیده دارند، دیتابیس رابطهای انتخاب مناسبی است. وقتی مدل دسترسی سندی یا مقیاس توزیعشده خاصی لازم است، بعضی مدلهای NoSQL مفیدند. هیچکدام همیشه برتر نیست.
CREATE TABLE products (
id BIGINT PRIMARY KEY,
name VARCHAR(200) NOT NULL,
price DECIMAL(12,2) NOT NULL
);
SELECT name, price FROM products WHERE price > 100000;
موضوعات مکمل: نواسکیوال، اسکیما، کوئری و اسید.