تغییرات اخیر

در اینجا اطلاعیه‌ها، نسخه‌ها و تغییرات جدید لیارا فهرست می‌شوند.

    Apache CouchDB چیست؟


    ۱۰ مرداد ۱۳۹۹
    apache couchdb چیست؟

    دیتابیس Apache CouchDB توسط بنیاد نرم‌افزاری Apache توسعه داده شده و اولین بار در سال ۲۰۰۵ منتشر شده و با زبان Erlang نوشته شده است. یک دیتابیس متن‌باز که از فرمت‌ها و پروتکل‌های مختلفی برای ذخیره، انتقال و پردازش داده‌های خود استفاده می‌کند.

    از JSON برای ذخیره داده‌ها، از زبان JavaScript به عنوان زبان کوئری با روش پردازش MapReduce و از HTTP برای API استفاده می‌کند. داکیومنت‌ها، واحدهای اصلی این دیتابیس هستند و metadataها را شامل می‌شوند. فیلدهای داکیومنت، به‌صورت منحصربه‌فرد نامگذاری شده‌اند و مقادیری با نوع‌های مختلف را شامل می‌شوند، هیچ محدودیتی برای اندازه متن یا تعداد عناصر وجود ندارد.

    تاریخچه دیتابیس CouchDB

    CouchDB با زبان Erlang نوشته شده است. این پروژه توسط Damien Katz در سال ۲۰۰۵ آغاز و در سال ۲۰۰۸ به پروژه شرکت Apache تبدیل شد. نسخه فعلی CouchDB 3.1 است.

    معماری دیتابیس CouchDB

    معماری couchdb

    معماری CouchDB در زیر شرح داده شده است:

    1. CouchDB Engine: بر اساس B-tree است. داده‌ها توسط کلید‌ها یا محدوده‌های کلید که به‌طور مستقیم map می‌شوند تا در اختیار عملیات‌ B-Tree قرار بگیرند.
    2. HTTP Request: برای ایجاد شاخص‌ها و استخراج داده‌ها از داکیومنت‌ها استفاده می‌شود. با زبان جاوااسکریپت نوشته شده است که اجازه ساخت Adhoc views را می‌دهد که با MapReduce ایجاد شده‌ند.
    3. Document: حجم زیادی از داده‌ها را ذخیره می‌کند.
    4. دیتابیس Replica: این قسمت برای replicating (replicate در دیتابیس‌ها به این معنی است که از یک دیتابیس مرکزی داده‌ها در دیتابیس‌های جزئی‌تر کپی شوند) داده‌ها در یک دیتابیس لوکال، یا ریموت و طراحی همزمان داکیومنت‌ها مورد استفاده قرار می‌گیرد.

    ویژگی‌های دیتابیس CouchDB

    ویژگی‌های دیتابیس CouchDB موارد زیر را شامل می‌شود:

    1. Replication: این دیتابیس ساده‌ترین شکل replication را ارائه می‌دهد، هیچ دیتابیسی دیگری در این مورد به این اندازه ساده نیست.
    2. Document Storage: این یک دیتابیس NoSQL است که از document storage پیروی می‌کند و در آن هر فیلد به‌طور اختصاصی نامگذاری می‌شود و مقادیری از انواع داده‌های مختلف مانند متن، اعداد، Boolean، لیست‌ها و … در آن قرار می‌گیرند.
    3. خصوصیت‌های ACID: طراحی فایل CouchDB از تمام خصوصیت‌های ACID پیروی می‌کند.
    4. امنیت: همچنین امنیت در سطح دیتابیس را ارائه می‌کند و مجوزها به readers و admins تقسیم می‌شود، که خوانندگان می‌توانند عملیات خواندن و نوشتن در دیتابیس را انجام دهند.
    5. Map/Reduce: دلیل اصلی محبوبیت CouchDB استفاده از سیستم پردازشی Map/Reduce است.
    6. احرازهویت: CouchDB در حفظ احرازهویت از طریق سشن و کوکی مانند یک برنامه تحت وب، به ما کمک می‌کند.
    7. ساخته شده برای کارهای آفلاین: CouchDB می‌تواند در دستگاهای مختلف مانند گوشی‌های هوشمند که قابلیت رفتن به حالت آفلاین را دارند، replicate شود و هنگامی که گوشی به حالت آنلاین برگشت، همگام‌سازی داده‌ها را برای شما انجام دهد.
    8. Eventual Consistency: دیتابیس CouchDB، مواردی مانند در دسترس بودن و Partition tolerance را که از eventual consistency نشات می‌گیرند را ضمانت می‌کند.
    9. HTTP API: همه موارد دارای یک URI (Unique Resource Identifier) منحصربه‌فرد هستند که از طریق HTTP نمایش داده می‌شوند. از متد‌های HTTP مانند POST, GET, PUT و Delete برای چهار عملیات CRUD (Create, Read, Update, Delete) استفاده می‌کند.

    مزیت‌های دیتابیس CouchDB

    مزایای دیتابیس CouchDB موارد زیر را شامل می‌شود:

    1. از HTTP API برای ارتباط آسان‌تر استفاده می‌شود.
    2. این دیتابیس می‌تواند هر نوع داده‌ای را ذخیره کند.
    3. ReduceMap امکان بهینه‌سازی ترکیب داده‌ها را فراهم می‌کند.
    4. ساختار CouchDB بسیار ساده است.
    5. indexing و بازیابی سریعی دارد.

    معایب دیتابیس CouchDB

    معایب دیتابیس CouchDB موارد زیر را شامل می‌شود:

    1. CouchDB فضای زیادی برای overhead اشغال می‌کند، که یکی از مهم‌ترین معایب این دیتابیس در مقایسه با سایر دیتابیس‌ها به شما می‌رود.
    2. اجرای کوئری‌های Arbitrary، بسیار هزینه‌بر است.
    3. CouchDB در مقایسه با بقیه دیتابیس‌ها، overhead بیش‌تری ایجاد می‌کند.
    4. ممکن است Temporary viewها در مجموعه داده‌های عظیم بسیار کند باشند.
    5. از transactionها پشتیبانی نمی‌کند.
    6. ممکن است Replication در دیتابیس‌های بزرگ با شکست روبرو شود.

    منبع: https://www.geeksforgeeks.org/introduction-to-apache-couchdb

    برچسب‌ها:

    ســــــــــــــــــــــال‌هاست که هستیم

    ۶ سال در کنار شما تجربه جمع کردیم. تازه در ابتدای مسیر هستیم، مسیر ساخت آینده.

    جمع‌مـــــــــــان، جمع است

    بیش از ۴۰ هزار توسعه‌دهنده و صاحبان کسب و کار در جمع ما هستند. جای شما خالی‌ست...

    خدمات رایگان لیارا

    ۲.۵ گیگابایت فضای ذخیره‌سازی ابری رایگان

    ۲.۵ گیگابایت Object Storage سازگار با پروتکل S3 با دیسک‌های SSD به‌صورت رایگان دریافت کنید.

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

    دیتابیس‌های MariaDB، PostgreSQL و Redis را فقط با یک کلیک و به‌صورت رایگان تهیه کنید.

    سرویس DNS رایگان

    به سادگی دامنه‌تان را اضافه کنید و به صورت رایگان رکورد‌های آن را مدیریت کنید.

    ۱۰۰ هزار تومان اعتبار اولیه

    بعد از ثبت نام در لیارا مبلغ ۱۰۰ هزار تومان اعتبار هدیه دریافت می‌کنید که با توجه به ساعتی بودن هزینه سرویس‌ها، می‌توانید تمامی خدمات پولی را برای چندین هفته رایگان استفاده کنید.

    ارسال ۱۰۰ ایمیل تراکنشی رایگان در هر ماه

    در سرویس ایمیل لیارا شما می‌توانید تا ۱۰۰ ایمیل رایگان در هر ماه ارسال کنید. (به‌همراه دسترسی SMTP)

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

    تفاوتی ندارد برای وبسایت خود از Node استفاده می‌کنید یا Laravel و Django، در لیارا می‌توانید به صورت کاملا رایگان آن را میزبانی کنید.

    همراه شما هستیم

    در خصوص سفارش یا استفاده از سرویس‌ها سوالی دارید؟
    تلفن واحد فروش:
    ۰۲۵-۳۳۵۵۷۶۱۹ (روزهای کاری ۹ الی ۱۷)
    تلفن واحد فروش: ۳۳۵۵۷۶۱۹-۰۲۵ (روزهای کاری ۹ الی ۱۷)