الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

قواعد بيانات لم تسمع عنها

بدأه Abdullah.Alshammeri في 20 أغسطس 2010 · 30 رد · 15,691 مشاهدة · في المقالات العلمية و التقنية
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ،

كنت أريدها مقالة قصيرة علمية رصينة ، ولكن لظروف قاهرة [كسل رهيب ] جعلت المقالة ترفع شعار " للاطلاع فقط " ، ولم أتمكن من تمحيصها جيداً ، حيث انشغلت البارحة بمتابعة Ice Age للمرة الرابعة عشر، ولكن لنبدأ بالعصر الحجري للكمبيوتر ، حيث كانت الأفكار في ذلك الوقت تحاول أن تتخيّل الكمبيوتر وتحاول توجد الأدوات التي من خلالها نصنع البرنامج ولم أسبر أغوار تلك الفترة جيداً لذلك سأنتقل للعصر الجليدي - أواخر السبعينات - حيث CIA كانت تريد من شركة Ampex ، التي كان يعمل فيها " Ellison" ، تطوير قاعدة بيانات أسماها فيما بعد بـOracle والتي ظهرت كقاعدة بيانات علائقية - مبنية على فكرة الجداول - ومن الجيد أن اذكر أني قرأت في مكان ما أن أوّل نسختين من Oracle تم تطويرها باستخدام Assembly قبل أن ينتقلوا للغة السي ، وهذا يفتح باب لسؤال مهم : أيهم أقوى ، السي أم الاسمبلي ؟ تباً ..هل دار بخلدك هذا السؤال الآن ؟!

على مدار تطوّر Oracle وتقدمها ، بدايةً من اعتمادها على معمارية Client/Server ثم 3-tier ، واخراج لغة مثل PLSQL وما إلى ذلك .. إلا أن الفكرة كانت واحدة وهي الاعتماد على " الجداول " كمبدأ أساسي في تخزين البيانات وتنفيذ الاستعلامات باستخدام لغة SQL . خلال هذه الفترة ، لم تكن Oracle تعيش بسلام ، فكونها ماموثة العصر الجليدي ، لم يمنع الغير من المنافسة فكانت IBM بمنتجها DB2 تزاحم Oracle ، ودخول Microsoft على الخط بشراءها لأحد المنتجات الذي تحوّل إلى SQL Server ، أشعل المنافسة .

وفي العصر الجليدي لابد من ظهور بعض الطفيليات .. حتى في جو قارص ، فكانت SQLight هي تلك ، فصارت هي ( سنجاب ) العصر الجليدي الذي يلاحق (حبّة الفسدق) ليحصل على شيء من الوجبة . SQLight يسير على نفس النمط .. جداول مع sql ، ولكن بتطويرات تتمثل بـميزة الحجم الصغير ، قدرة على العمل في بيئة لاتحوي على " سيرفر " .. فكل ماتحتاجه هو " بضعة بايتات " من جهازك لتستخدم SQLlight في برنامجك ، وهذا ما جعل Mozilla تختار SQLight بل وتدعمها وتستخدمها في أعز ما تملك - Firefox - ، فهي الخيار المفضل للبرامج التي تعمل على Client فقط ، وما بين السنجاب SQLight و الماموثة Oracle لابد ان يظهر ( الكسلان ) وهو الـ Access ليشير بذيله : أنا موجود .

MySQL و postgreSQL و " عد و اغلط " ، كلها قواعد بيانات تسير على نفس النمط .. جداول مع sql ، ولكن بحذف عيب وإضافة ميزة. وتستطيع أن تضم محبوبة Sun - عليها الرحمة - ، المسمّاة بـ Apache Derby ، ضمن " الجوقة " .. قد يكون الاختلاف هنا ، أنك أمام قاعدة بيانات مكتوبة بلغة أخرى ، لغة الشمس .. لغة Java ، كانت Sun تحب Apache Derby كثيراً :-( .

مع ظهور الانترنت وانتشاره ، ظهرت XML ( هل هناك ربط بينهما ؟ لا أعرف ) ، XML أثارت ضجة وحركت المياه الراكدة في أواخر القرن الماضي ، جعلت بيل جيتس يقرر أن كل شيء تنتجه Microsoft ، يُبنى على XML كوسيلة لتخزين وتبادل البيانات . صدق وهو الصدوق عند محبيه الكذوب عند البطاريق ، فكانت أوامره قد وصلت لفريق Microsoft Office لينفذوا ذلك ، فكل شيء يخزن على هيئة XML ، وفتح هذا مجالاً واسعاً لتبادل مستندات MS Office عبر الويب ، وعبر التطبيقات المختلفة . وكان هذا حال كثير من التطبيقات التي انتقلت إلى XML لتخزين بيانتها بدلاً من أسلوب العصر الحجري الأزلي ، Binary Files . قد تكون ضخامة المساحة على القرص الصلب هي من دفعت بـ XML للازدهار .. ولكن من يقف وراء XML ما اكتفى بهذا ، بل أنتج XSLT و XPath ، ليجعل من XML أداة جاهزة وطيّعة لتحل كبديل لقواعد البيانات العلائقية Relational database .. والأمور لم تتوقف عند هذا ، بل ظهرت XQuery لتكون بمثابة SQL لـ XML .

موضة " المواصفات القياسية " التي أخرجتها W3 ، لم تمنع Google من أن تنتفض وتنتج أسلوبها الخاص في تخزين بياناتها " الضخمة جداً جداً " ، فكان BigTable المبني على GFS ، هذا المنتج لازال قابعاً في شركة Google حسب ما قرأت. المنتج لايسير على نفس نهج وطريقة " قواعد البيانات السابقة ، فموضة Client/Server البائدة وموضة 3-tier الحالية ، يبدو أنها لا تكفي .. لا أعلم عن تفاصيل هذا المنتج ، ولكن تستطيع تشبيهه بمنتج Facebook ذو الاسم الحسن و الوجه الحسن Cassandra الذي أتاحوه لـ Apache لتكمل المهمة .. كاسندرا ، ترفع شعار " رنان " ، وهو NoSQL ، صدّقني ستسمع هذا كثيراً في كوابيسك ... NoSQL ... NoSQL ... ، الميزة التي يتكلمون عنها ، أنك أمام قاعدة بيانات يمكن أن تطوّرها بمجرد إضافة مزيد من Hardware دون الحاجة لتدخل سوفتويري .. ثورة Google و Facebook ثم لحاق Digg بهم ونظرها للمستقبل بعيون كاسندرا لا بعيون MySQL ، بل وحتى ثورة Amazon على الأساليب التقليدية في تخزين البيانات ، جاء بسبب أنك أمام أعداد مهولة منتشرة بأصقاع الأرض ، تريد الحصول على مواردك resources ، وبالتالي بدا أن Oracle لوحدها ، ليست هي ذاك الحل المثالي ، فالعملاء تغيروا ، فأنت لست أمام " بنك " أو " فندق " ، أنت أمام Google و Facebook ، وأضف عليهما Twitter .

وبمناسبة ذكر Amazon ، كلنا يعرف أن Amazon خدمتناسنين طويلة "بكتبها " .. لكن أضف لمعلوماتك أن Amazon تنوي قطع أرزاق بعض قرّاءنا الأعزاء ، بفكرة واقعية جداً : لماذا أقوم بتوظيف DBA وأخسر راتب شهري 30 ألف ريال ، بينما يمكنني قطع رزق ذاك الموظف بـطريقة Simple ؟ استطاعوا بالفعل أن يوجدوا طريقة لقطع رزق DBAs من خلال SimpleDB، والأرزاق بيد الله - نسيت أن اخبرك ان SimpleDB أيضاً ترفع شعار NoSQL . وبمناسبة NoSQL ، من الجيد أن تعرف من يرفع هذا الشعار لتأمن شره أو تنضم للقافلة وتكون ممن ينادي لا " إس كيو ال " .

يكفي ان تتخيّل أن JSON دخلت على الخط ، فهناك قاعدة بيانات تقوم على فكرة JSON أيضاً .. الفكرة يبدو أنها ثورية ، بالرغم من بساطتها ( key and value ) ، فحين تستخدم Javascript قاعدة بياناتها الخاصة بأسلوبها الذي تفهمه ، يجعل الأمور تختلف وقواعد اللعبة تختلف ، بل ويخالجك شعور ، أنك وصلت لعصر متقدّم جداً ، خذ DovetailDB بطريقك !

المنتجات كثيرة ، فقاعدة بيانات MongoDB الساحرة ، CoucheDB، HyperTable و أخيراً لا ننسى الشاب Redis لنضمّه للقافلة تشجيعاً له ، كلها دليل على أن الأمور تغيّرت ، وأن Oracle كماموثة للعصر الجليدي قد تنقرض يوماً ما .. فالكل يستطيع أن ينتج والكل يستطيع أن يصنع قاعدة بياناته بيده لا بيد عمرو ، أما موضة " الجداول " و " الكويريات " الكلاسيكية ، انتهت .

أن تكتب" كويري وقح " ، كهذا :

SELECT emp.ename, dept.dname, sg.grade
  FROM emp 
  JOIN dept ON emp.deptno = dept.deptno
  JOIN salgrade sg 
	ON ((emp.sal BETWEEN sg.losal AND sg.hisal)
   	AND (emp.sal NOT IN (
 		SELECT losal
        	FROM salgrade))
   	AND (emp.sal NOT IN (
 		SELECT hisal
        	FROM salgrade )))

ليس كما تكتب " استعلام ألطف " كهذا :

  db.users.find({last_name: 'Smith'}, {'ssn': 1});

الاستعلامين مختلفين .. صحيح ، لكن القصد هو اختلاف المبدأ الذي يقوم عليه الاثنان .

هذه الثورة ، بدأت في أواخر التسعينات من القرن الماضي ، وازدادت هيجاناً مع بداية الألفية و انتشار تطبيقات Web 2.0 و الحوسبة السحابية و لغات البرمجة الكائنية و ظهور لغات برمجة متوازية مثل Erlang يمكنها أن تكون الاختيار الأفضل لبناء DBMS بدلاً من لغة السي أو الاسمبلي ( هل حسمت أمرك بعد وعرفت من الأقوى ؟ .. لا ؟ تباً ) ، فهنا أصبحت قواعد البيانات موجهة لبيئة معينة ، مثل تطبيقات الويب التي يزورها يومياً البلايين ، وليس للتطبيقات الكلاسيكية ، الموجهة للفنادق و المطاعم الفخمة ، والتي لو جمعت روّادها لن يتعدوا عدد أطراف " دودة أم 44 " .

أغلب RDBMS مثل Oracle فهمت قواعد اللعبة ، وصارت تحاول أن تغطي جميع الاتجاهات الممكنة بما فيها Document-oriented Database ، ولكن وصمة Relational و لعنة SQL لا زالت تلاحقها . وليت SQL Server يرفع شعار NoSQL أو حتى YesStanardSQL بدلاً من SQL ممسوخ ، وبما أن Document-Oriented Databse ذُكرت ، من الجيد ان نقول أن هذا يشمل أي قاعدة بيانات مبنية على XML أو JSON .

مع كل هذه الثورة ، وكل هذه الأعداد الهائلة من DBMSs التي وردت في هذا المقال ، يحق لنا أن نتساءل ...

ألم يمت " الكسلان " بعد ؟

المراجع : Google .

33 −1

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#2

موضوع اكثر من رائع الله يجزيك الخير

صراحة كل شيىء لا يخلو من التعقيدات والمبرمجين المبتدئين سيبحثون عن nosql ولكن عندما يتقدم المبرمج بالخبرة سيجد انه بحاجة الى لعنة ال sql , بالاضافة الا انه توجد مزايا مثلا باوركل لا توجد ب nosql منها stored procedure

function ....الخ

كذلك من حيث الامان افضل نظام ادارة قواعد بيانات على الاطلاق هو اوركل حتى هنا بالعالم العربي اوركل هو افضل خيار وأأمن . معظم قواعد بيانات الحكومات ان لم يكن جميعها على الاوركل

الان عند ما يكروسوفت تم الاستغناء عن xquery xpath xlink ويوجد حل افضل ال linq بميزات اجمل واحلى ولكن قريب جدا جدا من sql من حيث النظرة العامة

كذلك بالنسبة لاعتماد مايكروسوفت على xml هذا صحيح ,اسرع قواعد البيانات الان هي native xml database ولكن ليست الأأمن ولذلك ليست خيار بين انظمة ادارة قواعد البيانات وما زالت بمرحلة التجريب

أما عن الكسلان (access) بصراحة يساعد معظم الشركات . عند بنائك لنظام اتمتة شركة لن يهمها ما هذا البرنامج ووو الا اذا كانت كبيرة وبها قسم معلوماتية بحيث تبحث عن الافضل

المبرمج لا يبحث عن التعقيدات ولكن يبحث عن الامرن وذو وثوقية اعلى

انا اكره اوركل بالتطوير لعدم وجود مرونة اقصد apex مع انها تقريبا الان شبيهة جدا بال asp.net ولكن كحل ادارة قواعد بيانات هي الافضل ولا ننسى تطبيقها لفكرة الاغراض بدل الجداول ومنذ مدة عشر سنوات :)

4

In bad state

#3

مقال جميل smile.gif

بالنسبه لى فأقتنع بأن لكل قاعده بيانات إتجهاتها الخاصه و سوقها الخاص حتى هذا ينطبق على أدق التفاصيل فلو أخذنا قاعده بيانات MySQL (التى تحتضر الأن) فسنجد أننا يمكننا أن نحدد محرك الجدول ليتناسب مع المهام الموجه إليه و كان هذا سارى أيضاً مع PostgreSQL و لكن فى الإصدار الرابع تقريباً قامو بتوحيد المحرك و بهذا أهملو جزء مهم جداً و هو customization و لكن تم الإستفاده بزياده التركيز على تطوير محرك واحد و بهذا أصبح له سوقه الخاص و أصبح ينافس المنتجات الكبيره مثل Oracle

و هذا ينطبق أيضاً على SQLite (السنجاب) فيمكنك أن تختار بينها و بين Access (الكسلان) و هذا بنائاً على المتطلبات المطلوبه منهم فالأولى ممكن أن تستخدمها فى إنشاء قاعده بيانات فى الذاكره مباشراً و بهذا تحصل على سرعه عاليه جداً و هذا على سبيل المثال و خصوصاً بعد دمج المحرك فى البرنامج و بهذا أصبح لديك طريقه لتخزين و البحث على البيانات بصوره سريعه جداً بمعنى أنه يمكننى أن أستفاد بها مثلاً فى تخزين بيانات و ثم إرسالها عبر الشبكه ليستقبلها البرنامج الأخر الذى لن يقوم بتحليل XML بل كل المطلوب منه هو فتح القاعده و بدء القراءه و بهذا تم توفير الوقت فى المعالجه.

بالنسبه لـ NoSQL فلم أخوض بها و كل ما أعرفه هو بعض السطور هنا و هناك فقط و لكن أرى أن SQL لن نستطيع أن نستغنى عنها و شعار NoSQL ليس معناه أنك يجب أن تستغنى عن SQL و ترفع الشعارات للمطالبه بإسقاط قواعد البيانات الأخرى و لكن أرى أنه يقصد به أنك معنا لن تكتب SQL بالطرقه المعتاد عليها فإستخدام SQL له فؤاد كثيره فتخيل مثلاً أننا نريد أن نبنى Layer خاص بالمستخدم بحيث نعطيه إمكانيه إنشاء إستعلام جديد و لكن بدون عرض الجداول له و إستخدامها مباشراً ثم إرسال المطلوب إلى السيرفر و هناك يتم تكوين سطر الإستعلام و التحقق منه و من ثم تنفيذه و إرجاع البيانات إلى المستخدم فأرى أن هذا سهل جداً تصميمه مستخدماً SQL.

خلاصه القول أننى أنصح بعدم التحيز لقاعده بيانات واحده لأن كل واحده منهم لها مميزاتها و عيوبها و المهم الأن و السؤال الذى يطرح نفسه و هو أيهم أقوى السي أم الاسمبلي laugh.gif ؟

2
forum-signature-01.gif
#4

نسيت Db4O أخي الشمري :)

قاعدة بيانات اختصار اسمها Database for Objects .. وهي Object Database وهي أسرع بملايين المرات من قواعد البيانات العلائقية. ولا يوجد بها سطر SQL واحد .. ويوجد منها نسختان للتعامل مع السي شارب والجافا.

عملت عليها لفترة ونتائجها مبهرة :) وسريعة وقوية في نفس الوقت .. ولكنه تحت التطوير ويظهر منها جديد كل يوم. فهو مشروع مفتوح المصدر.

أنا أرى أن عقلية العملاء هي التي بلورت استخدام قواعد البيانات العلائقية وليس أكثر .. فلن تجد عميلاً يوافق إلى حد كبير على استخدام Object Databases مثلاً في بنك أو فندق أو مؤسسة حكومية .. فهذه عقدة الخواجة (القواعد العلائقية) فعادة العميل سمع من هنا وهناك أن أوراكل أفضل (وإن سألت أي شخص لماذا فسيقول لك الناس تقول كذا!) فيطلب منك أن يكون النظام كله مبني على أوراكل .. حتى وإن جلست معه وشرحت له 100 سنة ميزات أي قاعدة بيانات غير علائقية فلن يسمع لك.

عندما تتغير عقلية العملاء والمستفيدين من الأنظمة .. سيتغير العالم ويتوجه لما هو أفضل وأقوى وأسرع.

4 −1

مدونة ابنتي الرضيعة: يوميات رزان

مدونتي التقنية العربية: البرمجة مع عبد المنعم

Technical Blog: Abdul Moniem's Thoughts

LinkedIn: Profile

#5
أحمد عبد المنعم كتب:

نسيت Db4O أخي الشمري :)

قاعدة بيانات اختصار اسمها Database for Objects .. وهي Object Database وهي أسرع بملايين المرات من قواعد البيانات العلائقية. ولا يوجد بها سطر SQL واحد .. ويوجد منها نسختان للتعامل مع السي شارب والجافا.

عملت عليها لفترة ونتائجها مبهرة :) وسريعة وقوية في نفس الوقت .. ولكنه تحت التطوير ويظهر منها جديد كل يوم. فهو مشروع مفتوح المصدر.

أنا أرى أن عقلية العملاء هي التي بلورت استخدام قواعد البيانات العلائقية وليس أكثر .. فلن تجد عميلاً يوافق إلى حد كبير على استخدام Object Databases مثلاً في بنك أو فندق أو مؤسسة حكومية .. فهذه عقدة الخواجة (القواعد العلائقية) فعادة العميل سمع من هنا وهناك أن أوراكل أفضل (وإن سألت أي شخص لماذا فسيقول لك الناس تقول كذا!) فيطلب منك أن يكون النظام كله مبني على أوراكل .. حتى وإن جلست معه وشرحت له 100 سنة ميزات أي قاعدة بيانات غير علائقية فلن يسمع لك.

عندما تتغير عقلية العملاء والمستفيدين من الأنظمة .. سيتغير العالم ويتوجه لما هو أفضل وأقوى وأسرع.

اوركل تدعم الاغراض وهي اول من طبّقتها بين انظمة ادارة قواعد البيانات

1

In bad state

#6

كم شخص يستخدم الـ Objects في الأوراكل بالنسبة للجداول العلائقية! هل هناك نسبة تذكر؟!

وكم شخص يشتري أوراكل ليستخدم الـ Objects فيها؟!

وكم شخص خبير في الـ Object Databases ليستخدمها أصلاً من منتج أوراكل؟!

وهل يا هل ترى قمت بقياس سرعة الـ Db4o كمثال على الـ Object databases مع أي وأقول أي قاعدة بيانات علائقية!

كما قلت وأكرر .. هي عقلية عملاء وسوق لا أكثر ولا أقل ..

فلا أوراكل أفضل من SQL Server ولا العكس .. ولا Db4o أفضل من أوراكل أو من SQL Server ولا العكس ..

يوجد دائماً خيارات .. وأبعاد أخرى تجعلك تفضل واحدة على واحدة .. لا أكثر ولا أقل.

3

مدونة ابنتي الرضيعة: يوميات رزان

مدونتي التقنية العربية: البرمجة مع عبد المنعم

Technical Blog: Abdul Moniem's Thoughts

LinkedIn: Profile

#7
أحمد عبد المنعم كتب:

كم شخص يستخدم الـ Objects في الأوراكل بالنسبة للجداول العلائقية! هل هناك نسبة تذكر؟!

وكم شخص يشتري أوراكل ليستخدم الـ Objects فيها؟!

وكم شخص خبير في الـ Object Databases ليستخدمها أصلاً من منتج أوراكل؟!

وهل يا هل ترى قمت بقياس سرعة الـ Db4o كمثال على الـ Object databases مع أي وأقول أي قاعدة بيانات علائقية!

كما قلت وأكرر .. هي عقلية عملاء وسوق لا أكثر ولا أقل ..

فلا أوراكل أفضل من SQL Server ولا العكس .. ولا Db4o أفضل من أوراكل أو من SQL Server ولا العكس ..

يوجد دائماً خيارات .. وأبعاد أخرى تجعلك تفضل واحدة على واحدة .. لا أكثر ولا أقل.

صح كلامك المشكلة بالمبرمجين واصحاب القرار

In bad state

#8
اقتباس
صح كلامك المشكلة بالمبرمجين واصحاب القرار

لا اعتقد انها مشكلة ..

لان المبرمج يبحث عن الاسهل له ..فلماذا ابرمج بالاوراكل ويمكن انني اقوم ببرنامج سهل باستخدام الSQL Server ؟

حسب حاجتي للمشروع ..

ولا اعتقد ان الMS SQL server مع بيئة VS.net لا تغطي اغلب المشاكل بل واصبحت نوعا ما NoSQL في الظاهر البرمجي ..

اصبحت كلها امور بمعالج بسيط .. هو من يربط وهو من يتحكم بالسطر الاستعلامي ..

يعني من وجهة نظري كمتعامل مع لغات برمجة كثيرة .. ان الامور تتجه نحو التبسيط اكثر .. وكذلك فان المبرمج يتطلب ابسط الامور بارخص الثمان عليه ..

اقتباس
كم شخص يستخدم الـ Objects في الأوراكل بالنسبة للجداول العلائقية! هل هناك نسبة تذكر؟!

+1

يَارَبُ إِن ضَاقَت قُلُوُب الْنَّاسٍ عَنْ مّافِي .. مِنْ خَيْرٍٍ فَعَفْوكَ لَا يَضِيْقْ ..

#9
سنان محمد صالح كتب:

لا اعتقد انها مشكلة ..

لان المبرمج يبحث عن الاسهل له ..فلماذا ابرمج بالاوراكل ويمكن انني اقوم ببرنامج سهل باستخدام الSQL Server ؟

حسب حاجتي للمشروع ..

ولا اعتقد ان الMS SQL server مع بيئة VS.net لا تغطي اغلب المشاكل بل واصبحت نوعا ما NoSQL في الظاهر البرمجي ..

اصبحت كلها امور بمعالج بسيط .. هو من يربط وهو من يتحكم بالسطر الاستعلامي ..

يعني من وجهة نظري كمتعامل مع لغات برمجة كثيرة .. ان الامور تتجه نحو التبسيط اكثر .. وكذلك فان المبرمج يتطلب ابسط الامور بارخص الثمان عليه ..

+1

أخي سنان اوركل الان تنتج web application وبمرونة تقترب جدا من لغات برمجة الوب

منذ مدة صممت تطبيق على apex

orcle 10g express edition

في نظام قوالب وبمكنك ادارة قوالب وادوات جاهزة وrich data جاهزة كما يمكنك اضافة ملفات جافا سكريبت و css وتصميم menu وبحركات جميلة

حاليا اسهل طريقة لتصميم نظام اتمتة هو على اوركل والاسهل على الاطلاق :)

ثانيا كل مبرمج يبرمج باستخدام ال wizerd هذا لا يقال عنه مبرمج

sql هي الاساس

ملاحظة هامة للغاية :

ليس كل ماهو قديم سيىء وليس كل ماهو جديد هو الافضل :)

تم تعديل هذه المشاركة بواسطة X-File في 20 أغسطس 2010 في 20:10

2

In bad state

#10
اقتباس

اذكر أني قرأت في مكان ما أن أوّل نسختين من Oracle تم تطويرها باستخدام Assembly قبل أن ينتقلوا للغة السي ، وهذا يفتح باب لسؤال مهم : أيهم أقوى ، السي أم الاسمبلي ؟ تباً ..هل دار بخلدك هذا السؤال الآن ؟!

اقتباس

هل حسمت أمرك بعد وعرفت من الأقوى ؟ .. لا ؟ تباً

هذه نقطه شائكه جدا و لكن يمكن القول أن اوراكل انتقلت من اسمبلى لسى حتى تستطيع جعل منتجها منفصل عن الهاردوير و بالتالى تستطيع الحصول على عملاء أكثر.

مدونتي: C++ Tips and Tricks

#11

أعتقد أن الأمر سببه إكتشاف مشاكل في قواعد البيانات بعد الوصول إلى طلب هائل على البيانات

جووجل وفيسبوك واجهوا مشاكل ولن يتمكنوا من القيام بمهامهم عن طريق قواعد بيانات لذلك لجؤا إلى الهاردوير وهذا أفضل بكثير وأسرع ولا يسبب مشاكل

ربما بالنسبه لنا سنقوم بإستخدام الجهتين sql & nosql

ولا أعلم إذا كان ما أتكلم عنه له علاقه في مصطلح nosql

فقط قمت مؤخرا بعمل موقع وبناء على الطلب الذي عليه خفت من الضغط على قاعدة البيانات فلجأت إلى الكاش أي تكييش صفحات الموقع فهل هذا مايسمى بـ nosql ?

وفي كثير من الأحيان تقوم بعمل ملفات الكاش كملفات xml حتى تتنمكن من معرفة وجود تغييرات في قاعدة البيانات أولا فهل هذا من ضمن الإنتقال بين هذه التقنيات ؟

المقاله رائعه وبالنسبه للكسلان فسبقى بسبب لغات ميكو :)

CMS Sfhati , Website Generator


نظام إدارة المحتوى صفحتي ... جربه الآن 


 


small-logo.png

#12
bastr3 كتب:

أعتقد أن الأمر سببه إكتشاف مشاكل في قواعد البيانات بعد الوصول إلى طلب هائل على البيانات

جووجل وفيسبوك واجهوا مشاكل ولن يتمكنوا من القيام بمهامهم عن طريق قواعد بيانات لذلك لجؤا إلى الهاردوير وهذا أفضل بكثير وأسرع ولا يسبب مشاكل

ربما بالنسبه لنا سنقوم بإستخدام الجهتين sql & nosql

ولا أعلم إذا كان ما أتكلم عنه له علاقه في مصطلح nosql

فقط قمت مؤخرا بعمل موقع وبناء على الطلب الذي عليه خفت من الضغط على قاعدة البيانات فلجأت إلى الكاش أي تكييش صفحات الموقع فهل هذا مايسمى بـ nosql ?

وفي كثير من الأحيان تقوم بعمل ملفات الكاش كملفات xml حتى تتنمكن من معرفة وجود تغييرات في قاعدة البيانات أولا فهل هذا من ضمن الإنتقال بين هذه التقنيات ؟

المقاله رائعه وبالنسبه للكسلان فسبقى بسبب لغات ميكو :)

الفكرة ب nosql انو ما تكت تعليمة

مثلا اوركل تحتوي على cache

database buffer cache

redo log buffer cache

java pool

larg pool

shared pool وكل واحد تملك تقسيمات اخرى وكل واحدة مسؤولة عن عمليات تقوم بها

فكرة الخبء انو سرّع العمل ليس له علاقة بصيغة القراءة والكتابة

In bad state

#13

لإثراء الموضوع هذه مقالة حول NoSQL مترجمة إلى اللغة العربية مفيدة وموسعة:

http://itwadi.com/NoSQL

مع أطيب تحية

2
#14

مقال رائع +1

بالنسبه للكسلان فانه لم يمت بعد. أما من الأقوى سي ام الاسمبلي فقد حسمت أمري :sleep:

#15

@مهدي:

اقتباس
بالنسبه للكسلان فانه لم يمت بعد. أما من الأقوى سي ام الاسمبلي فقد حسمت أمري

الجافا ME ؟ :P

#16
اقتباس
الجافا ME ؟ :P

هل تعتقد ذلك حقا أم أنك تمزح؟!!!

مدونتي: C++ Tips and Tricks

#17

مزاحا طبعا :D

#18

مفهوم NOSQL لا يعني No SQL بل المعني الأصلي هو Not Only SQL و هو المعنى الأعم, و الذي يوضح أنه من الممكن استخدام عدة طرق لتخزين البيانات و استرجاعها عند الحاجة, فقواعد البيانات التقليدية مثل SQL Server و Oracle تتميز بالقوة و القدرة على الحفاظ على البيانات و الكتابة و القراءة باستخدام Transactions بالاضافة الى العلاقات بين الجداول و التي تجعل مهام مثل الReporting و الBusiness Intelligence أسهل, و لكن يعيبها سرعة القراءة اذا زاد معدل القراءة عن الحدود الطبيعية مثل حالات الFacebook و Twitter و غيرها من المواقع التي تخدم ملايين المستخدمين يومياً و لهذا يتم في الأغلب وضع طبقة أخرى من مقدم البيانات أمام القاعدة الرئيسية مثل Cassandra DB أو MongoDB و غيرها و تقوم هذه الطبقة بوظيفة الCaching Layer للقراءة السريعة للبيانات و يتم نقل البيانات الى قواعد البيانات الأخرى في الخلفية لعمل الBackup و أيضاً للقيام بعمليات الAnalysis على هذه البيانات.

3 −1

مصري في بلاد الفرنجة.

قريباً اقرأ مقالاتي على It-scoop

#19

فقط لدي مجموعة نقاط أريد أن أعلق عليها amazon اشتهرات بقاعدتي بيانات

1- Amazon S3

2- و Dynamo

كلتا القاعدتين تستهدف الحوسبة المكتظة cloud computing (بالمناسبة هي الترجمة الصحيحة وليس الحوسبة السحابية)

من نواحي عدة مثل availability و scalability و الوقت المستهلك في إعادة البيانات للمستخدم

أما عن الفرق بينهم أن القاعدة الثانية أبسط (تعتمد على معمارية مفتاح بيانات key/value)

وأسرع وأكثر ضماناً كـ atomic (نسيت الوصف الصحيح لهذه الخاصية لكنها تعني عدم وجود نسخ مختلفة من البيانات في حالة وجود أكثر من خادم replication )

بالمناسبة أعتقد أن nosql تهدف إلى تجنب عمل Join بين الجداول واستبدالها بجدول واحد طويل

نظراً لأن الأخت join مشهورة بأنها أبطأ عملية يمكن أن تراها في قاعدة بيانات

لكني غير متأكد من هذه المعلومة

أعتقد أن قاعدة بيانات كأوراكل لا يمكن اعتبارها مجرد قاعدة بيانات عادية

فمجموع ما يتوفر داخلها من خصائص ومميزات يجعلني كشركة enterprise أفكر ألف مرة قبل أن أتعامل مع غيرها

كما أن أوراكل تلعب دائماً على Rich Application مما يجعل العمل على قواعدها سريعاً منتجاً ويعطيها سمعة قوية

يجعل من الصعوبة بمكان أن يتم تجاهلها

نقطتي الأخيرة كثرة المنتجات لا تعني غير شيء وحيد

ألا وهو لكي تختار قاعدة البيانات التي تناسبك يجب عليك أن تقوم بـ trade off الخاص بك

والأمر ليس بالبساطة التي نتكلم عنها فهناك عدة أمور يجب أن تأخذ في الحسبان

هل تهتم بالتواجدية availability

هل تهتم بالاتحادية (وحدة البيانات على جميع الخوادم) أظن consistent

ما مقدار الاتحادية التي يستحملها تطبيقك (هناك أكثر من نوع)

هل تهتم بالسرعة عند الكتابة هل تهتم بالسرعة عند القراءة

هل لديك حدود في العتاد

وأسئلة كثيرة أخرى تظهر أمامك كصاحب قرار

في النهاية يجب أن تحسم لواحدة من قواعد البيانات والقرار لك وحدك

كان معكم علاء الصالحي محدثكم من العصر الجوراسي

احم احم الديناصور في الخلفية استيقظ لذا علي أن أهرب قبل أن ينتبه لي

تييييييييييييييييييييييييييت

تحياتي

تم تعديل هذه المشاركة بواسطة علاء الصالحي في 29 أغسطس 2010 في 06:50 — السبب: تعديل بعض المصطلحات الإنجليزية

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#20

بالنسبة لي SQL هي اسهل لغة تعلمتها حتى الآن

#21

موضوع اكثر من رائع الله يجزيك الخير :)

#22

مقال طريف وجميل وتشكر عليه.

منذ فترة بسيطة بدأ البعض ينهي NoSql لصلح ما يسميه NewSql.

http://www.infoq.com/news/2011/04/newsql

واحد أبرز هؤلاء منتج قاعدة بيانات VoltDb وهو بروفسور خبير معلوماتية ويدور هذه الأيام جدل بينه وبين مهندسي فيسبوك وأمازون بعد تصريح له بخصوص الأولي.

1
#23

بارك الله فيك على المعلومات المقدمة

#24

والله أعطيتونا أفكار لم نفكر في جداواها أو نتطلب أكثر ..

شكرا لكم

مازال سوق أكسس واسع و يتبعه SQL Server و ذلك لسهولة البرمجة و قد اعتدنا عليهم و يلبيين أكثر الأهداف

شكرا لكل أخوتي الذين أغنوا فكرنا بما هو جديد

قال رسول الله صلى الله عليه و سلم :

عبادة في الهرج كهجرة إلي

وقال أيضاً :

من عيّر أخاه بذنب لم يمت حتى يفعله

أو كما قال

www.dr.syria4soft.com

#25

موضوع مهم شكرا

مواضيع مشابهة