جربت توصل الأبليكشن بتاعك بـ داتا بيس ؟ لو جربت يبقى الكلام اللى هنا دة يهمك ، ولو مجربتش يبقى لما تجرب الكلام دة هـ يهمك !
فى كام سؤال عايزين نتناقش فيهم،مبدأياً كدة أختارت الـ 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