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

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

مغلق
بدأه Whale في 3 أبريل 2006 · 11 رد · 970 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

لنفترض بأنني قد عملت ال Logical Design بالكامل لقاعدة البيانات (من ER-Diagram و اسماء الجادول و حقولها مع انواع بياناتها و حجومها و و و و )

الامهم حان وقت الان ل Physical Design فقبل انشاء قاعدة البيانات سوف اضطر ان احدد الحجم الكلي المتوقع لها.

اذا فكيف يمكنني ان احسب بشكل تقريبي طبعا الحجم المتوقع لقاعدة البيانات.

مثال:

لدي قاعدة بيانات تتكون من جدول وحيد الا وهو جدول العملاء و يتوقع ان يصل عدد سجلاته الي

000 100 سجل

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

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

:)

#2

من نمط البيانات

و حسب كثرة الإستخدام

لكن يمكنك عدم القلق من هذا الأمر

لأن ٍSQL Server يقوم بزيادة حجم الملف

عندما يمتلئ

FileGrowth

سلام

#3

الاخ Desigen انا هنا اتحدث عن الصيغة Formula التي تستخدم لتوقع حجم قاعدة البيانات.

نعم يمكن من نمط البيانات و لكن هناك الكثير مثلا Indexes منها Clustered and Non - Clustered.

اقتباس
لكن يمكنك عدم القلق من هذا الأمر

لأن ٍSQL Server يقوم بزيادة حجم الملف

عندما يمتلئ

هل تقصد اذا انا حددت الحجم الكلي للقاعدة و من ثم تجاوزته سوف يعمل SQL Server على زيادة الحجم بغض النظر عن ما حددت

تحياتي

:)

تم تعديل هذه المشاركة بواسطة Whale في 3 أبريل 2006 في 10:30

#4

انا حفتي حسب خبرتي و اما اعمل و الموضوع يفيدنا فيه الخبراء

انا بقوم بعمل bulk insert في حالة التشغيل العادية لكل البيانات مثلا

انا عندي قاعدة بيانات متوسط الادخال فيها 500 مدخل جديد يتم فيها تعبئة كل الجداول

فاقوم بعمل ملف بمتوسط طول البيانات في القاعدة(قصدي متوسط طول البيانات لكل حقل) و اقوم بادحاله داخل القاعدة و بالتالي اعرف ما هو مقدار الزيادة

Mahmoud Magdy

MVP - Exchange Server. MCITP (Windows Server 2008, Exhcange Server 2010,/2007),CCNP, MCTS(OCS 2007 R2, SCCM 2007)

Tech Lead

Ingazat Information Technology

Follow me on twitter: http://www.twitter.com/_busbar

my blog: http://autodiscover.wordpress.com

Link with me on linkedin: http://www.linkedin.com/profile?viewProfile=&key=71027694

or on experts-exchange.com: http://www.experts-exchange.com/M_1426100.html

#5

الاخ busbar صراحة لم افهم طريقتك بالضبط .... ممكن وضيح اكثر

شباب اريد ان اعرف الحجم الكلي للقاعدة قبل انشائها اي ببساطة قبل عمل CREATE DATABASE

:D

#6

يا اخي الكريم

انت تحدد الحجم البدائي لقاعدة البيانات عند انشاءها سواء كنت تستخدم تعليمات SQL لانشاء قاعدة البيانات

او كنت تستخدم Interprise Manager

تعليمة SQL

create database DB1
on
(
Name = File1
filename = 'c:\file1.mdf'
size = 2 
maxsize = 10
filegrowth = 10
)

ففي هذه التعليمة نحدد حجم الملف باستخدام Size عند انشاء قاعدة البيانات

لتتوسع اكثر انظر من هنا

رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء.

لا تنسى: "العقل مثل العضلة كلما استخدمته أكثر كلما ازدادت قوته"

#7

الاخ waeldalol الرابط الذي وضعته مفيد فعلا :)

ولكن ليس هذا ما اريده :(

دعوني اصيغ السؤال مرة اخرى....

على اي اساس سوف تحدد قيمة size و كذلك maxsize ؟؟؟؟؟

هنا لا بد لك طبعا من معرفة او بالاصح توقع الحجم الكلي للقاعدة التي انت بصدد تصميمها.

لتسهيل العملية و ضعت مثال :

اقتباس
مثال:

لدي قاعدة بيانات تتكون من جدول وحيد الا وهو جدول العملاء و يتوقع ان يصل عدد سجلاته الي

000 100 سجل

لكي اتوقع حجم القاعدة هنا لابد من اخذ عدة عوامل منها عدد السجلات المتوقع وجودها (اسأل الزبون مثلا في حالة المثال اعلاه) , الحيز الذي سيشغله كل سجل و و و و

لا بد من وجود صيغة رياضية تساعدنا على حساب الحجم المتوقع بشكل تقريبي.

انا اتعجب :: كيف يمكنني ان انشاء قاعدة بيانات و اضع لها قيمة ل Size و قيمة لل MAXSize و كذا عدد من DataFiles و Log Files اعتباطا دون محاولة توقع الحجم الذي ستصل اليه القاعدة بعد مدة من الزمن قل مثلا خمس سنوات

ارجو ان يكون سؤالي واضحا الان

تحياتي

:)

#8
Create Table X
(
	Number Int ,
	Name VarChar ( 30 ) ,
	Address NVarChar ( 30 ) 
)

أولا توقع حجم قاعدة البيانات مو لازم يكون دقيق يعني

كيف بدك تحسب المفاتيح الأساسية

و الفهارس ...

هذه شروط يتم تخزينها في قاعدة البيانات

و تمثيلها بشكل جدول

أنا أنصحك بحساب مقدار البيانات التي ستخزنها

على سبيل المثال الذي في الأعلى

Int == 2 Byte

Char == 1 Byte

NChar == 2 Byte

SO

Ther Record's Size is 2 + 30 + 60 = 92 Byte

سيصل عدد السجلات إلى 100 سجل

92 Byte * 100 = 9200 Byte

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

لكن كما قلت لك لا تقلق من هذا الأمر

الخاصة

FileGrowth

تقوم بزيادة حجم الملف عندما يمتلئ

سلام

تم تعديل هذه المشاركة بواسطة walcom في 3 أبريل 2006 في 16:19

#9

وأنا كمان كنت رح قول نفس كلام الأخ Design , من أنواع البيانات . :)

دروس و كتب مفيدة----------------------كتيب الإجرائيات المخزنةتعرف على اللغة Transact SQL <<-->> كتيب عن تنصيب قواعد البيانات Sql Server باللغة العربية كتيب عن إنشاء قواعد البيانات في SQL Server باللغة العربية <<-->> درس مع الأمثلة عن المؤشرات و التعامل معها في الـ T-SQLالعبارات الشرطية و الحلقات في T-SQL <<-->> شرح لبعض الـ Extended Stored Procedure استخدام مكتبات الـ Dot Net الخاصة بك في الـ Sql Server 2005 <<-->> التعامل مع المصفوفات من خلال الـ T-SQLتعابير الجداول الشائعة في SQL Server 2005 <<-->>الاتصال بالأداة SQL Server Management Studioحلول سريعة و لمحات برمجية --------------------------------التصدير إلى إكسل : طريقة أولى : طريقة بسطر واحد من الكود <<-->> طريقة ثانية : طريقة تحتاج إنشاء إجرائية مخزنةً تجهيز بيانات جدول بالصيغة XML تمهيداً لحفظها كملف <<-->> تصدير البيانات إلى ملفات نصية برمجياً إغلاق جميع الإتصالات المفتوحة بقاعدة بيانات محددة .. تمهيداً لاسترجاعها أو حذفها <<-->> الاستعلام بناء على وقت مخزن بالصيغة العربية ضمن حقل نصي ..حذف السجلات المتكررة و إبقاء عدد محدد منها في جدول.. <<-->> أسرع طريقة لحذف سجلات جدول كيف احصل على اسم جهازي والباسوورد باستخدام T-SQL <<-->> حشر أنواع الصور المختلفة في حقل من نوع Image باستخدام إجرائية مخزنة .كيف تعرف أنواع الصور المخزنة في حقل من نوع Image .. <<-->> إجرائيات مخزنة ببارامترات ديناميكية مفيدة جداً للاستعلامات استخدام رقم الحقل بدلاً من الإسم في عبارات الإستعلام <<-->> من هو أضخم الجداول في قاعدة بياناتي ؟معرفة زمن تنفيذ الإجرائيات ( لتختار الطريقة الأسرع بين إجرائياتك المخزنة ) <<-->> التعامل مع الـ Rules برمجياً الحصول على آخر صف في الجدول <<-->> قراءة ملفات XML باستخدام T-SQL برمجياً (مثال مرفق)سحب بيانات ملف إكسل إلى الـ SQL Server <<-->> تشفير النسخة الاحتياطية بكلمة مرور <<-->> التخلص من البيانات المكررة <<-->> حل مشكلة التاريخ الهجريDifferential Backup بالتعريف---------- لا إله إلا الله .. محمد رسول الله

أخوكم في الله..  Imad Ozone

#10

رائع بدأ سؤال الان يبدو واضحا :D

الان ماذا عن الفهارس و ماذا عن ال Pages كل صفحة حجمها 8KB ماذا عن Database Objects الاخرى

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

وانا قلت :)

اقتباس
اذا فكيف يمكنني ان احسب بشكل تقريبي طبعا الحجم المتوقع لقاعدة البيانات.

تحياتي

#11

يا اخي الحجم البدائي اذا بدك حطوا شلون من كان و ما مهم بالمرة

يمكن ان تتوقعه ايضا من ضخامة العمل الذي تقوم بارشفته و لكن غير مهم ذلك

رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء.

لا تنسى: "العقل مثل العضلة كلما استخدمته أكثر كلما ازدادت قوته"

#12

واخيرا وجدت الحل :D

Estimating the Size of a Database

Estimating the Size of a Table

بعض المعلمات

Set a reasonable size of your database.
===============================
First of all, before database creation, you should estimate how big your database will be.
To estimate the reasonable database size, you should estimate the size of each table individually, and then add the values obtained

Set a reasonable size of the autogrow increment.
=======================================
Setting a database to automatically grow results in some performance degradation, therefore you should set a reasonable size for the Autogrow increment to avoid automatically growing too often. Try to set the initial size of the database, and the size of the Autogrow increment, so that automatic growth will occur once per week or less.

تحياتي

:)

هذا الموضوع مغلق.

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