برنامه نویسی

20 پایگاه داده برای انتخاب در سال 2023 – ساده شده

فکر می‌کردید پایگاه‌های اطلاعاتی را می‌شناسید؟

دوباره فکر کن!

ExcitedComputerGuy

من قصد دارم 25 پایگاه داده جدید و بد بو را به شما معرفی کنم که جوراب شما را از بین می برد.

از مورد علاقه های کلاسیک گرفته تا تازه واردان پیشرفته،
برای یک سواری وحشیانه در سرزمین پایگاه داده آماده شوید!

1. MySQL – کلاسیک

CREATE TABLE users (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255));
INSERT INTO users (name) VALUES ('John Rush');
SELECT * FROM users;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ExcitedComputerGuy

MySQL پدربزرگ قابل اعتماد پایگاه‌های اطلاعاتی است – از سپیده دم وجود داشته و به نحوی بهتر می‌شود.
با عملکرد خوب و سازگاری با تقریباً هر زبان برنامه نویسی روی زمین، این قدیمی تایمر راه به جایی نمی برد.

2. MongoDB – NoSQL Hipster Kid

// Connect to MongoDB and insert a document
const { MongoClient } = require("mongodb");
const uri = "mongodb://localhost:27017";
const client = new MongoClient(uri);
await client.connect();
const db = client.db("mydb");
await db.collection("users").insertOne({ name: "John Rush" });
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

هیپستر

MongoDB آن بچه NoSQL باحالی است که به قوانین اهمیتی نمی دهد.

همه چیز در مورد ذخیره داده ها در اسناد JSON منعطف است و آن را به گزینه ای برای توسعه دهندگانی تبدیل می کند که به دنبال راه حلی بدون طرح واره هستند.

3. PostgreSQL – The Sophisticated One

CREATE TABLE users (id SERIAL PRIMARY KEY, name VARCHAR(255));
INSERT INTO users (name) VALUES ('John Rush');
SELECT * FROM users;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

PostgreSQL ممکن است ترکیبی عالی از عملکرد، ویژگی‌ها و ظرافت باشد.

این گوهر منبع باز با زبان پرس و جو قدرتمند و پشتیبانی از انواع سفارشی، جایگاه خود را در بین پایگاه های داده برتر به دست آورده است.

FancyCat

4. Oracle – The Enterprise Behemoth

CREATE TABLE users (id NUMBER GENERATED BY DEFAULT ON NULL AS IDENTITY PRIMARY KEY, name VARCHAR2(255));
INSERT INTO users (name) VALUES ('John Rush');
SELECT * FROM users;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اوراکل مانند آن بچه محبوب مدرسه است که مستقیم A را می گیرد اما در هر تیم ورزشی هم بازی می کند – همه چیز را به خوبی انجام می دهد!

مطمئناً، شما به جیب‌های عمیقی نیاز دارید تا با این سیستم پایگاه داده با غلتک بالا که توسط شرکت‌های بزرگ در سراسر جهان استفاده می‌شود، پیش بروید.

داداش بزرگ

5. کاساندرا – دینامو توزیع شده

from cassandra.cluster import Cluster

cluster = Cluster(["127.0.0.1"])
session = cluster.connect()

session.execute("""
    CREATE KEYSPACE mykeyspace 
    WITH replication={'class':'SimpleStrategy', 'replication_factor':1}
""")

session.set_keyspace("mykeyspace")
session.execute("""
    CREATE TABLE users (
        id UUID PRIMARY KEY,
        name text
    )
""")
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

کاساندرا ملکه بانک های اطلاعاتی توزیع شده است – او برای روزها مقیاس پذیری و تحمل خطا دارد! اگر به دنبال ساخت یک برنامه کاربردی عظیم و با کارایی بالا هستید، این پایگاه داده NoSQL ممکن است بهترین دوست جدید شما باشد.

6. Redis – The Speedster

import redis

r = redis.Redis(host="localhost", port=6379)
r.set("name", "John Rush")
print(r.get("name"))
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ردیس آن دوستی است که می‌تواند سریع‌تر از یوسین بولت در حالی که با اره‌های برقی شعله‌ور شعبده بازی می‌کند بدود. این ذخیره‌سازی داده‌های درون حافظه به طرز شگفت‌انگیزی سریع و مناسب برای ذخیره‌سازی حافظه پنهان یا برنامه‌های بلادرنگ است.

یوسین بولت

7. MariaDB – خواهر و برادر منبع باز MySQL

CREATE TABLE users (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255));
INSERT INTO users (name) VALUES ('John Rush');
SELECT * FROM users;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

MariaDB بخش عمده ای از DNA خود را با MySQL به اشتراک می گذارد، اما بر منبع باز و جامعه محور بودن تمرکز دارد. این مانند انتخاب بین پپسی و کوکاکولا است – هر دو تشنگی شما را برطرف می کنند. این فقط به این بستگی دارد که کدام طعم را ترجیح می دهید!

8. SQLite – قهرمان سبک وزن

import sqlite3

conn = sqlite3.connect(":memory:")
c = conn.cursor()
c.execute("""CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT);""")
c.execute("""INSERT INTO users (name) VALUES ('John Rush');""")
conn.commit()

for row in c.execute("SELECT * FROM users"):
    print(row)
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

SQLite یک بسته بندی پر وزن را بسته بندی می کند. این یک پایگاه داده SQL مستقل و بدون سرور است که برای پروژه‌ها و برنامه‌های کوچک که در آن سادگی کلید است، عالی است.

9. YugabyteDB – نیروگاه Postgres

CREATE TABLE users (id SERIAL PRIMARY KEY, name VARCHAR(255));
INSERT INTO users (name) VALUES ('John Rush');
SELECT * FROM users;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

YugabyteDB بهترین PostgreSQL را می گیرد و سس جادویی توزیع شده را اضافه می کند! این پایگاه داده بومی ابری با کارایی بالا از مقیاس بندی افقی و استقرار چند ابری پشتیبانی می کند و در عین حال سازگاری کامل با Postgres را حفظ می کند.

10. Neo4j – همه چیز درباره روابط

CREATE (john:User {name: "John Rush"});
MATCH (user:User) RETURN user;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

Neo4j با مدل داده مبتنی بر نمودار، روابط پیچیده را شبیه بازی کودکانه می کند. شبکه های پیچیده را با سرعت رعد و برق طی کنید – آن را برای شبکه های اجتماعی یا موتورهای توصیه ایده آل می کند!

11. Dolt – دنیای پایگاه داده Git Meets

$ dolt init && dolt sql <<EOF
CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(255)
);
INSERT INTO users(name) VALUES ("John Rush");
SELECT * FROM_users;
EOF
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

Dolt به شما این امکان را می دهد که با ترکیب پایگاه های داده به سبک MySQL با ویژگی های کنترل نسخه Git از حالت عادی خارج شوید! بدون ترس آزمایش کنید. ادغام تغییرات در صورت آماده شدن در این سیستم پایگاه داده ترکیبی نوآورانه.

بلوند

12. CockroachDB – NewSQL Innovator

CREATE TABLE users (id UUID DEFAULT gen_random_uuid() PRIMARY KEY, name STRING);
INSERT INTO users (name) VALUES ('John Rush');
SELECT * FROM users;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

CockroachDB به عنوان یک راه حل قدرتمند NewSQL که از ابتدا برای محیط های بومی ابری ساخته شده است، در نظر گرفته می شود. با سازگاری Postgres و مقیاس بندی افقی، این یک نیروی قابل محاسبه است!

13. Planetscale – مقیاس کردن MySQL به Infinity

CREATE TABLE users (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255));
INSERT INTO users (name) VALUES ('John Rush');
SELECT * FROM users;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مشکلات YouTube در مقیاس MySQL را به خاطر دارید؟ خب، Planetscale این کار را انجام می دهد! این فناوری از فناوری VTest توسعه یافته توسط YouTube استفاده می کند و یک پلتفرم بدون سرور کاملاً مدیریت شده برای مقیاس بندی MySQL بدون عرق کردن ارائه می دهد.

مهبانگ

14. Google Cloud Spanner – پایگاه داده جهانی

const {Spanner} = require("@google-cloud/spanner");
const spanner = new Spanner();
const instance = spanner.instance("my-instance");
const database = instance.database("my-database");

await database.run({
    sql: "CREATE TABLE Users (Id STRING(MAX) NOT NULL, Name STRING(MAX)) PRIMARY KEY(Id)"
});

await database.run({ sql: "INSERT Users (Id, Name) VALUES('1', 'John Rush')" });
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

آیا به داده های ثابت در سراسر قاره ها نیاز دارید؟ Google Cloud Spanner شما را تحت پوشش قرار داده است! این پایگاه داده SQL توزیع شده در سطح جهانی تضمین می کند که داده های شما همیشه در دسترس هستند و در عین حال تضمین های سازگاری قوی را ارائه می دهند.

15. Xata – Simplicity مانند صفحه گسترده

import xatasheet_client as xata

client = xata.Client()
sheet_id = client.create_sheet(title="Users")
rows_added_count = client.insert_rows(sheet_id= sheet_id,
                                      rows=[{"column": "Name", "value": "John Rush"}])
print(f"Rows added count: {rows_added_count}")
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

Xata سادگی در سطح صفحه گسترده را به پایگاه داده های رابطه ای می آورد! این برنامه که بر روی Postgres و Elasticsearch ساخته شده است، جستجوی متن کامل، روابطی که به راحتی قابل تجسم است و یک API برای TypeScript و Python ارائه می دهد.

16. آمازون آرورا – پایگاه داده AWS عزیزم

import boto3
rds = boto3.client("rds-data")

response = rds.execute_statement(
    resourceArn="arn:aws:rds:us-west-2:123456789012:cluster:mysql-cluster",
    secretArn="arn:aws:secretsmanager:us-west-2::secret:mysql-pass",
    sql="CREATE TABLE users (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255));"
)
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

Amazon Aurora قدرت MySQL یا PostgreSQL را با عملکرد بهتر به اکوسیستم AWS می آورد! همزمان با ادغام یکپارچه با سایر خدمات AWS، به طور خودکار مقیاس می شود.

17. Microsoft SQL Server – The Trusted Workhorse

CREATE TABLE Users (Id INT IDENTITY(1,1) PRIMARY KEY NOT NULL,
                    Name NVARCHAR(MAX));
INSERT INTO Users(Name) VALUES(N'John Rush');
SELECT * FROM Users;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مایکروسافت SQL Server برای چندین دهه یک نیروگاه قابل اعتماد در دنیای پایگاه داده بوده است! با ویژگی های امنیتی قوی و ادغام با سرویس های ابری Azure، همچنان یک انتخاب محبوب در بین مشاغل بزرگ و کوچک است.

اسب کار

18. Apache HBase – Big Data Behemoth

Configuration config = HBaseConfiguration.create();
Connection connection = ConnectionFactory.createConnection(config);
Table table = connection.getTable(TableName.valueOf("users"));

Put putData = new Put(Bytes.toBytes("row"));
putData.addColumn(Bytes.toBytes("cf"), Bytes.toBytes("name"), Bytes.toBytes("John Rush"));
table.put(putData);

ResultScanner resultsScanner = table.getScanner(new Scan());
for (Result res : resultsScanner) {
    System.out.println(res);
}
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

Apache HBase انتخابی مناسب برای کسانی است که با حجم عظیمی از داده های بدون ساختار سر و کار دارند! به عنوان بخشی از اکوسیستم Apache Hadoop، توان نوشتن بالا و خواندن با تأخیر کم را ارائه می دهد.

19. TimescaleDB – Time Series Titan

CREATE TABLE users (
    time TIMESTAMPTZ NOT NULL,
    name TEXT NOT NULL
);
SELECT create_hypertable('users', 'time');
INSERT INTO users(time, name) VALUES(NOW(), 'John Rush');
SELECT * FROM users;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

TimescaleDB PostgreSQL را می گیرد و یک پیچ و تاب سری زمانی اضافه می کند! این تازه وارد که به عنوان افزونه ای برای PostgreSQL ساخته شده است، وقتی با داده های مقیاس بزرگی سروکار دارید که در طول زمان تغییر می کنند – مانند دستگاه های IoT یا تجزیه و تحلیل ها – می درخشد.

20. FaunaDB – سوپراستار بدون سرور

const faunadb = require("faunadb");
const q = faunadb.query;
const client = new faunadb.Client({ secret: "your-secret-key" });

await client.query(
  q.CreateCollection({ name: "users" })
);

await client.query(
  q.Create(q.Collection("users"), { data: { name: "John Rush" } })
);
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

FaunaDB به عنوان یک پایگاه داده ابری بدون سرور که برای برنامه های کاربردی مدرن طراحی شده است، وارد عمل می شود. این GraphQL و توابع سفارشی را همراه با سازگاری جهانی و ویژگی های امنیتی داخلی ارائه می دهد.

21. InfluxData – DevOps Dynamo

# Write Data
curl --request POST 'http://localhost:8086/write?db=mydb' \
--data-binary 'user,name="John Rush"'
# Query Data
curl --get 'http://localhost:8086/query' \
--data-urlencode "db=mydb&q=SELECT * FROM user"
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

InfluxData برای نظارت بر معیارها و رویدادها در زیرساخت شما طراحی شده است. زبان پرس و جو قدرتمند آن می تواند به شناسایی روندها، ناهنجاری ها یا سایر بینش های ارزشمند از داده های سری زمانی شما کمک کند.

22. Memgraph – Graph Database Prodigy

from mgclient import connect

connection = connect(host='127.0.0.1', port=7687)
cursor = connection.cursor()

cursor.execute('CREATE (:User{name:"John Rush"})')
cursor.execute('MATCH (u:User) RETURN u.name')
for row in cursor.fetchall():
    print(row)
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

Memgraph یک پایگاه داده گراف با کارایی بالا و در حافظه است که برای تجزیه و تحلیل بلادرنگ ساخته شده است. سازگاری آن با زبان پرس و جو Cypher آن را به انتخابی عالی برای کسانی که با Neo4j آشنا هستند تبدیل می کند.

23. Riak KV – Key-Value Connoisseur

import riak

client = riak.RiakClient()
bucket = client.bucket("users")
user_key = bucket.new("johnrush", data={"name": "John Rush"})
user_key.store()

fetched_user = bucket.get("johnrush")
print(fetched_user.data)
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

Riak KV یک فروشگاه با ارزش کلیدی بسیار در دسترس و توزیع شده را ارائه می دهد که می تواند بارهای سنگین را بدون عرق کردن تحمل کند. این برای موارد استفاده مانند بازی، فناوری تبلیغات یا برنامه های تلفن همراه عالی است.

24. KeyDB – Redis در استروئیدها

from keydb import Client as KeyDBClient

keydb_client = KeyDBClient(host="localhost", port=6379)
keydb_client.set("name", "John Rush")
print(keydb_client.get("name"))
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

KeyDB همه چیزهایی را که در مورد Redis دوست دارید می گیرد و آن را به یازده می رساند! با پشتیبانی چند رشته ای و عملکرد بهبود یافته، این جایگزین منبع باز ممکن است راه حل جدید شما برای ذخیره سازی باشد.

استروئیدها

25. MeiliSearch – جستجوی کامل متن فوق العاده

import meilisearch

client = meilisearch.Client('http://127.0.0.1:7700')
index = client.create_index(uid='users')

index.add_documents([{'id': '1', 'name': 'John Rush'}])
results = index.search('John')
print(results.hits)
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

MeiliSearch قدرت جستجوی تمام متن را با حداقل تنظیمات به نوک انگشتان شما می آورد! این موتور جستجوی فوق سریع و با تحمل اشتباه تایپی را می توان در عرض چند دقیقه در هر برنامه ای ادغام کرد.

در اینجا شما آن را دارید – 25 پایگاه داده که شما را وادار می کند هر چیزی را که فکر می کردید در مورد ذخیره سازی داده می دانستید تجدید نظر کنید!

ذهن بلوون

اگر این تور شما را تشنه محتوای شگفت انگیزتر کرده است، فراموش نکنید که من را در توییتر دنبال کنید @johnrushx جایی که من افکارم را در مورد تغییر دنیای توسعه نرم افزار به اشتراک می گذارم.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا