يسعدنا أن نعلن عن التوفر العام (GA) لـ C SDK for Couchbase! يضيف هذا الإصدار دعمًا للغة C الأصلية إلى مجموعتنا الشاملة الحالية من مكتبات SDK بـ 11 لغة برمجة ويمثل علامة فارقة في التزامنا بتوفير أدوات قوية وعالية الأداء للمطورين لإنشاء تطبيقات حديثة وقابلة للتطوير. في الواقع، تعد C SDK هذه هي المكتبة الأساسية وراء مجموعات تطوير البرامج Python وNodeJS وRuby وPHP SDK الحالية لدينا وتسعى جاهدة لتوفير تجربة متسقة وفعالة وفعالة عبر جميع لغات البرمجة هذه.
تظل لغة C لغة حيوية للعديد من المطورين نظرًا لأدائها وكفاءتها وتحكمها في موارد النظام. من خلال تقديم C SDK، تعمل Couchbase على تمكين المطورين من الاستفادة من هذه المزايا مع الاستفادة الكاملة من إمكانات NoSQL المتقدمة في Couchbase. فيما يلي بعض الأسباب الرئيسية التي تجعل هذا الإصدار يغير قواعد اللعبة:
تشتهر لغة C بسرعتها وإدارة الذاكرة ذات المستوى المنخفض، مما يجعلها مثالية للتطبيقات التي يكون فيها الأداء أمرًا بالغ الأهمية. تضمن C SDK لـ Couchbase أنه يمكنك إنشاء تطبيقات عالية الأداء دون التضحية بالسرعة أو الكفاءة.
يوفر C SDK تكاملًا سلسًا مع Couchbase Server، مما يتيح للمطورين إجراء عمليات بسهولة مثل عمليات KV واستعلامات SQL والمعاملات. يضمن هذا التكامل المحكم إمكانية توسيع نطاق تطبيقاتك بشكل فعال مع الحفاظ على الأداء العالي.
تتميز C SDK بواجهة برمجة تطبيقات اصطلاحية حديثة تتوافق مع أحدث معايير C. وهذا لا يجعلها قوية فحسب، بل تجعلها أيضًا بديهية لمطوري لغة C، مما يقلل من منحنى التعلم ويسمح لك بالبدء في إنشاء التطبيقات بسرعة.
إليك بعض الميزات البارزة في C SDK لـ Couchbase:
يعمل C SDK على تبسيط إدارة الاتصال، مما يسمح لك بإنشاء وإدارة الاتصالات إلى مجموعة Couchbase الخاصة بك بأقل جهد. يتضمن ذلك التعامل مع تجميع الاتصالات وموازنة التحميل وتجاوز الفشل، مما يضمن بقاء تطبيقك مرنًا وعالي الأداء. وهذا يعني أن SDK يمكنه قراءة هيكل مجموعتك تلقائيًا وتوفير اتصالات سلسة أثناء تغييرات الهيكل مثل تغيير حجم المجموعة أو ترقيات المجموعة. فيما يلي مثال لرمز C للاتصال بقاعدة بيانات Couchbase الخاصة بك.
// Attempt to connect to the Couchbase cluster auto [connect_err, cluster] = couchbase::cluster::connect(config.connection_string, options).get(); if (connect_err) { // Output the error message if connection fails std::coutدعم عملية القيمة الرئيسية (KV).
يدعم C SDK أصلاً إجراء عمليات القيمة الأساسية. تعد عمليات القيمة الأساسية فريدة من نوعها بالنسبة لقاعدة الأريكة وتوفر عمليات CRUD سريعة جدًا للمستندات المخزنة في قاعدة الأريكة. يوجد أدناه مثال على كود C لتشغيل عملية KV بسيطة للحصول على مستند وإرساله.
auto collection = cluster.bucket(config.bucket_name) .scope(config.scope_name) .collection(config.collection_name); // KV- get auto record = collection.get(document_id); std::coutدعم الاستعلام الغني والبحث والبحث المتجه
يدعم C SDK استعلامات SQL والبحث عن النص الكامل (FTS) والبحث المتجه، مما يوفر لك أدوات قوية لإجراء عمليات البيانات المعقدة. سواء كنت بحاجة إلى تشغيل استعلامات معقدة أو إجراء عمليات بحث عن نص كامل، فإن SDK يلبي احتياجاتك.
بحث الاستعلام
يوجد أدناه مقتطف تعليمات برمجية لتنفيذ استعلام SQL بسيط لجلب السجلات من مجموعة شركات الطيران:
auto scope = cluster.bucket(config.bucket_name).scope(config.scope_name); auto [err, resp] = scope.query("SELECT * FROM airline LIMIT 10").get(); std::coutالبحث عن النص الكامل (FTS)
يوجد أدناه مقتطف رمز لتنفيذ استعلام FTS لإجراء بحث عن نص كامل عن "المطاعم اللطيفة" الفهرس الذي تم إنشاؤه في مجموعة المعالم:
auto scope = cluster.bucket(config.bucket_name).scope(config.scope_name); auto [err, resp] = scope .search("travel-inventory-landmarks", couchbase::search_request(couchbase::query_string_query("nice restaurants")), couchbase::search_options{}.fields({ "content" })) .get(); for (const auto& row : resp.rows()) { auto fields = row.fields_as<:codec::tao_json_serializer>(); std::coutبحث المتجهات
يوجد أدناه مقتطف من التعليمات البرمجية لتنفيذ استعلام بحث متجه:
auto scope = cluster.bucket(config.bucket_name).scope(config.scope_name); // weights could be retrieved from your llm model or openAI std::vectorweights{ 0.1, 0.2, 0.3, 0.4 }; auto [err, resp] = scope .search("travel-inventory-landmarks", couchbase::search_request(couchbase::vector_search( couchbase::vector_query(field_name, weights)))) .get(); for (const auto& row : resp.rows()) { auto fields = row.fields_as<:codec::tao_json_serializer>(); std::cout البرمجة غير المتزامنة
يدعم SDK نماذج البرمجة غير المتزامنة، مما يتيح لك إنشاء تطبيقات سريعة الاستجابة وغير قابلة للحظر. وهذا مفيد بشكل خاص للتطبيقات عالية الإنتاجية حيث يكون الحفاظ على الاستجابة أمرًا ضروريًا. فيما يلي مثال على تشغيل معاملة في سياق غير متزامن:
std::shared_ptrctx) -> couchbase::error { ctx->get( collection, some_id, // do something in this transaction } المعاملات
يتضمن C SDK الجديد هذا دعمًا للمعاملات ويحل محل دعم معاملات C الحالي لدينا عن طريق إضافة المزيد من التحسينات والميزات في الأداء. يوجد أدناه نموذج لمقتطف التعليمات البرمجية لإنشاء سياق معاملة:
std::shared_ptr<:transactions::attempt_context> ctx) -> couchbase::error { ctx.insert(collection, "doc-a", nlohmann::json({})); couchbase::transactions::transaction_get_result doc_a = ctx->get( collection, “doc-a”) }معالجة قوية للأخطاء
تعد معالجة الأخطاء أمرًا بالغ الأهمية في أي تطبيق، وتوفر C SDK، تمامًا مثل مجموعات SDK الأخرى لدينا، إمكانات شاملة لمعالجة الأخطاء بما في ذلك إعادة محاولة انقطاع الاتصال، وتجميع الاتصال ورسائل الخطأ الإعلامية. وهذا يضمن قدرتك على التعامل مع الأخطاء والتعافي منها بأمان، مما يعزز استقرار وموثوقية تطبيقاتك.
ابدء
لمساعدتك على البدء باستخدام C SDK لـ Couchbase، قمنا بإعداد دليل تفصيلي للبدء على موقع التوثيق الخاص بنا. فيما يلي نظرة عامة سريعة حول كيفية البدء:
- تثبيت SDK: اتبع تعليمات التثبيت الموجودة في الوثائق لإعداد SDK في بيئة التطوير الخاصة بك.
- الاتصال بمجموعتك: الاتصال بمجموعة Couchbase الخاصة بك.
- تنفيذ عمليات CRUD، وتشغيل الاستعلامات، والاستفادة من ميزات Couchbase القوية.
المجتمع والدعم
نحن نؤمن بقوة المجتمع وتنمية المصادر المفتوحة. إن C SDK لـ Couchbase مفتوح المصدر، ونحن نشجعك على المساهمة وتقديم التعليقات والانضمام إلى المحادثة. للحصول على الدعم، إذا كنت عميلنا المرخص لمؤسستنا، فيمكنك التواصل عبر الدعم، وإلا يمكنك الوصول إلى وثائقنا الشاملة، أو الانضمام إلى منتديات Couchbase أو Couchbase Discord، أو التواصل عبر بوابة الدعم الخاصة بنا.
قراءة متعمقة
لمعرفة المزيد، راجع موقع التوثيق الخاص بنا. يتطرق إلى مزيد من التفاصيل حول واجهة برمجة التطبيقات (API)، خاصة فيما يتعلق بالمعاملات والعمليات غير المتزامنة ويوفر مواد مرجعية أخرى وروابط ارتباطات عينة لتتمكن من التعمق أكثر:
- أمثلة على كود Couchbase C SDK
- وثائق Couchbase C SDK
- تنزيل وتثبيت Couchbase C SDK
أنظمة التشغيل المدعومة مدرجة على موقع التوثيق الخاص بنا.
تعليمات سعيدة!
فريق Couchbase
ظهر المنشور الذي يعلن عن التوفر العام لـ C SDK لـ Couchbase للمرة الأولى على مدونة Couchbase.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3