جربت توصل الأبليكشن بتاعك بـ داتا بيس ؟ لو جربت يبقى الكلام اللى هنا دة يهمك ، ولو مجربتش يبقى لما تجرب الكلام دة هـ يهمك !
فى كام سؤال عايزين نتناقش فيهم،مبدأياً كدة أختارت الـ Database Engine بنائاَ على ايه ؟ طيب تعرف انت اختارت صح ولا غلط ؟ وعشان تعرف انت اختارت صح ولا غلط لازم اسألك انت تعرف خصائص الـDatabase Engine اللى انت أختارتة ايه ، وايه اللى يفرق من Database Engineلـ التانية ؟
فى كام سؤال عايزين نتناقش فيهم،مبدأياً كدة أختارت الـ Database Engine بنائاَ على ايه ؟ طيب تعرف انت اختارت صح ولا غلط ؟ وعشان تعرف انت اختارت صح ولا غلط لازم اسألك انت تعرف خصائص الـDatabase Engine اللى انت أختارتة ايه ، وايه اللى يفرق من Database Engineلـ التانية ؟
مش لازم تكون إجابتك على اللى فات ايوة و تمام و فعلاً ، عشان انا مكنتش اعرف لحد فترة قريبة ، بس لما جتلى فرصة اشتغل على اكتر من Database Engine ساعتها بدأت اقارن و اعمل search  وفى النهاية فكرت انى اشارك زملائى فى المعلومات اللى وصلتلها.
طيب عشان نبقى عارفين النطاق اللى بنتكلم فية ، لازم نحدد الـ Database Engines  اللى هناخدها فى عين  الأعتبار ونقارن بينها،انا أخترت Microsoft SQL Server  وMySQL  وSQLite ودة مش بيقلل ابداَ من حاجات تانية اثبتت مكانتها  وليها مستخدميها والـ Community بتاعها زى Oracle و MongoDB و PostgreSQL،بس يمكن عشان الكاتب يكون صادق وهو بيحكى تجربتة مع المحركات التلاتة ، أو عشان ان احتماليه اعتمادك على Engine هتكون بنسبة اكتر على واحد من التلاتة دول.
فى الجدول التالى انا هسرد مقارنة بتوضح بعض نقاط التشابة والأختلاف تعالوا نشوف ..  
| 
الخصائص  | 
Microsoft SQL Server | 
MySQL   | 
SQLite   | 
| 
مجتمع المطورين شايفة ازاى ؟ | 
Microsoft’s RDBMS | 
Open source RDBMS | 
Open source in-process RDBMS | 
| 
المطور أو صاحب الفكرة  | 
Microsoft | 
Oracle  | 
Dwayne Richard Hipp | 
| 
الأصدار الأول  | 
سنة 1989 | 
سنة 1995 | 
سنة 2000 | 
| 
الرخصة او الـLicense | 
تجارى | 
مفتوح المصدر | 
مفتوح المصدر | 
| 
اللغة البرمجية اللى اتعمل بيها | 
سى بلس بلس  | 
سى بلس بلس و سى  | 
سى بس  | 
| 
يشتغل انهى نظام تشغيل ؟ | 
Windows | 
FreeBSD 
Linux 
OS X 
Solaris 
Windows | 
يتشغل على اى نظام تشغيل ودة بسبب انه server less أو غير معتمد على انظمة التشغيل. | 
| 
XML support ؟ | 
يدعم  | 
يدعم  | 
لا يدعم  | 
| 
ممكن نشتغل عليه من خلال  | 
OLE DB 
Tabular Data Stream 
ADO.NET 
JDBC 
ODBC | 
ADO.NET 
JDBC 
ODBC | 
ADO.NET  
JDBC  
ODBC  | 
| 
لغات البرمجة اللى تقدر تتكلم معاه  | 
Dot Net 
Java 
PHP 
Python 
Ruby 
Visual Basic | 
Ada 
C 
C Sharp 
C pls pls 
D 
Eiffel 
Erlang 
Haskell 
Java 
Objective-C 
OCaml 
Perl 
PHP 
Python 
Ruby 
Scheme 
Tcl | 
Actionscript 
Ada 
Basic 
C 
C Sharp 
C pls pls 
D 
Delphi 
Forth 
Fortran 
Haskell 
Java 
JavaScript 
Lisp 
Lua 
MatLab 
Objective-C 
OCaml 
Perl 
PHP 
PL/SQL 
Python 
R 
Ruby 
Scala 
Scheme 
Smalltalk 
Tcl | 
| 
طرق التقسيم أو Partitioning  methods | 
تقسيم افقى بمعنى ان الجداول يتم تقسيمها مابين files مختلفة، أو federation  | 
تقسيم افقى بمعنى ان الجداول يتم تقسيمها مابين files مختلفة،MySQL Cluster أوMySQL Fabric | 
لا يوجد. | 
| 
طرق النسخ Replication methods | 
موجودة بس دة بيعتمد على الversion | 
Master-master replication 
Master-slave replication | 
غير مدعومة. | 
خلينا ندخل فى النقطة اللى بعد كدة وهى ايه العوامل اللى ممكن اختار على اساسها الـ Database Engine ؟ 
#1 Reliability أو الأعتمادية ..
#1 Reliability أو الأعتمادية ..
ودة معناه القدرة على حماية البيانات بحيث ان كل العمليات الحرجة يمكن تنفيذها بقدر عالى من الأمان.
2# Adaptability أو الملائمة .. 
وهى قدرة الـ RDBMs على التكيف مع التغيرات السريعة وذلك بدون فرض تغيرات فى الـ hardware  المستخدم وبدون الحاجة الى شراء وحدات أضافية.
3# Scalability أو القابلية للتوسع ..
يوصف الـ RDBMS القادر على التوسع بأنه قادر على دعم وتحمل أى زيادة فى عدد المستخدمين ، كمية البيانات ، أو العمليات بدون الحاجة الى اى تكاليف جديدة.
4# Predictability أو القدرة على التنبؤ
يجب على الـ RDBMS ان يكون قادر على توصيل predictable service levels.
5# Manageability أو القدرة على التحكم فية
 
No comments:
Post a Comment