Carbonado هي طبقة تجريد عالية الأداء وعالية الأداء لتطبيقات Java ، مما يوفر وجهة نظر علائقية لتكنولوجيا الثبات الأساسية. يمكن توفير الثبات من خلال قاعدة بيانات SQL العلائقية التي يمكن الوصول إليها JDBC ، أو يمكن أن تكون DB Berkeley. يمكن أيضًا تكرارها بالكامل بين الاثنين.
حتى إذا لم تكن قاعدة بيانات الدعم قائمة على SQL ، فإن Carbonado لا يزال يدعم العديد من الميزات الأساسية الموجودة في أي نوع من قاعدة البيانات العلائقية. وهو يدعم الاستعلامات والوصول والفهارس ويؤدي تحسين الاستعلام. عند استخدامها بهذه الطريقة ، فإن Carbonado ليس مجرد طبقة لقاعدة بيانات علائقية ، فهي قاعدة البيانات العلائقية. SQL ليس شرطًا لتنفيذ قواعد البيانات العلائقية.
يتضمن تحديد أنواع جديدة في Carbonado إنشاء واجهة أو فئة مجردة تتبع اتفاقيات Java Bean. يتم تحديد معلومات إضافية عن طريق إدخال تعليقات توضيحية خاصة. على الأقل ، يلزم التعليق التوضيحي لتحديد المفتاح الأساسي. التعليقات التوضيحية هي ميزة متوفرة لأول مرة في Java 5 ، ونتيجة لذلك ، يعتمد Carbonado على Java 5.
على السطح ، قد يبدو أن أنواع الكربوندو هي مثل pojos. الفرق هو أنه في الكربوندو ، الأنواع هي تمثيلات كائنات للعلاقات. إنها ليست قاعدة بيانات كائن ولا جسر عقيدة للكائنات. بالإضافة إلى ذلك ، تعتبر تعريفات نوع البيانات ببساطة واجهات ، ولا توجد ملفات تكوين خارجية. يتم إنشاء جميع التعليمات البرمجية لتنفيذ أنواعها تلقائيًا ، ومع ذلك لا توجد خطوات زمنية إضافية للبناء.
Carbonado قادر على تحقيق الأداء العالي عن طريق فرض انخفاض كبير جدًا عند الوصول إلى التخزين الفعلي. يتم تحقيق النفقات العامة المنخفضة جزئياً عن طريق توليد الأداء التلقائي رمز حرجة ، عبر مكتبة Cojen.
يضيف Carbonado 1.2 العديد من الميزات الجديدة ، والتي تم تلخيصها هنا وفي ملاحظات الإصدار.
ميزات عامة
المستودعات
ميزات JDBC
ميزات محرك الاستعلام
يتم تقسيم Carbonado إلى عدة حزم الحزم لتحسين إدارة التبعية. أسهل طريقة للبدء مع كربوندو هي استخدام مستودع Berkeley DB JE المدعوم. لهذا ، تحتاج إلى الحصول على حزم حزمة كربوندو وكونيبوسليكاتجي.
يعتمد رمز كربوندو كوردو ، على تسجيل أسعار Apache Commons ، و Joda-Time ، و Cojen.
يحتوي Carbonadosleepycatje على مستودع لدعم SleepyCat/Oracle ، Edition DB Java. Berkeley DB JE Code يجب تنزيله وتثبيته بشكل منفصل.
يحتوي CarbonadosleepyCatdB على مستودع لدعم SleepyCat/Oracle Berkeley DB. يجب تنزيل وتثبيت رمز DB Berkeley بشكل منفصل.
رسم خرائط فضفاضة من مصطلحات الكربوندو إلى مصطلحات SQL:
كربوندو | SQL |
---|---|
مستودع | قاعدة البيانات |
تخزين | طاولة |
تعريف رائع | تعريف الجدول |
مثال رائع | صف الجدول |
ملكية | عمود |
استفسار | حدد/حذف البيان |
المؤشر | مجموعة النتيجة |
استعلامات كربوندو ليست معبرة كما يختار SQL. على عكس SQL ، لا تدعم استعلامات Carbonado معالجة البيانات أو الوظائف الإجمالية.
يدعم Carbonado الحد الأدنى من إمكانية الاستعلام التي تجعل اختيار الفهرس التلقائي ممكنًا. يمكن محاكاة الميزات الأخرى المتوفرة في SQL في الكود. إذا كانت قاعدة البيانات محلية ، فلا يوفر هذا أي خسارة للأداء.
لن تتمكن التطبيقات التي ترغب في استخدام Carbonado فقط كطبقة مريحة عبر SQL من استخدام ميزات SQL الكاملة. كربوندو ليس بديلاً عن JDBC. قد تختار هذه الأنواع من التطبيقات مزيجًا من الكربوندو و JDBC. لتسهيل ذلك ، يتم دعم الوصول إلى اتصال JDBC المستخدم بواسطة المعاملة الحالية.
تستخدم مستودعات Carbonado التي تدعمها Berkeley DB محسن استعلام قائم على القواعد للتوصل إلى خطة استعلام. تكون المُحسِّنات المستندة إلى التكلفة أكثر فاعلية بشكل عام ، لأنها تقدر تكاليف الإدخال/الإخراج. يحتوي Carbonado على مُحسِّن قائم على القواعد لأنه من الأسهل الكتابة.
Carbonado قادر على دعم العديد من أنواع تقنيات الثبات. ومع ذلك ، يلزم الحد الأدنى من الميزات من أجل توفير ما يكفي من ميزات الكربوندو لتبرير الجهد:
من الناحية المثالية ، يجب أن تدعم تكنولوجيا الثبات المعاملات. إذا لم يحدث ذلك ، فيجب تنفيذ معاملاته عن طريق تحديثات الدفع في الذاكرة. لا تستمر التحديثات حتى يتم ارتكاب المعاملة. إذا تم دعم تحديثات الدُفعات الذرية ، فيمكن للمستودع الإبلاغ عن دعم مستوى عزل "القراءة المرتكبة". خلاف ذلك ، يمكن أن يدعم فقط أدنى مستوى "قراءة غير ملتزم".
ميزات إضافية لطيفة ، ولكن ليست مطلوبة بصرامة: