نقل قول نوشته شده توسط رامین مرادی مشاهده تاپیک
شاید متوجه منظور بنده نشدید. من اینجور میگم که یک میلیون رکورد داخل یه جدول هست. پونصد کاربر همزمان درخواست ثبت رو میدن. اگه قراره پردازش سمت برنامه باشه خب باید اون یک میلیون رکورد به هرکدوم از 500 کاربر که درخواست رو کردن برگردونده بشه. پس با یه ضرب ساده باید 500 میلیون داده تو جریان شبکه برگشت داده بشه.(برا مثال میتونید همین سیستم آمارگیری که تو کشور انجام میشه رو در نظر بگیرید. هر لحظه داره داده ها و کد ملی ثبت میشه. نباید کد ملی تکراری ثبت بشه. هروز این جدول که بزرگتر شد . فرض کنید داده ها هم رسیدن به 60 میلیون رکورد و تو کشور هم ده هزار آمارگیر وجود داره حسابش با شما)

ما عملا با این روش داریم لایه دیتا رو میاریم داخل لایه تجاری (البته هستن کسایی که لایه دیتا رو تو لایه اول UI هم میارن ) . که به نظر من اصلا کار درستی نیست. اگه سورس برنامه لو بره. اطلاعات جداول و ... هم بطبع لو میره.

دیتابیس بیچاره نیست و اینروزا دیتابیس ها و پایگاه های داده رو جوری طراحی کردن که با داده های حجیم هم بتونه به خوبی کار بکنه.
حالا طبق همین فرمایش شما (
در مورد امنیت هم باید بگم من و شما برنامه نویس نباید نگران امنیت داده ها توی شبکه باشیم
) منم میگم ما به عنوان برنامه نویس نباید نگران دیتابیس باشیم نگهداری و رسیدگی به دیتابیس مربوط به مدیر دیتابیس میشه. راجب استفاده از ssl هم درسته استفاده ازش بجاست ممنون که یادآوری کردید.
شما هم گویا نظر بنده رو متوجه نشدید. من میگم برنامه که قراره هر دفعه یک میلیون رکورد رو با هم لود اساسا از نظر طراحی مشکل داره. کدوم کاربریه که بخواد اینهمه رکورد رو یکجا بررسی کنه؟
شما میگید برای مثال نباید کد ملی تکراری ثبت بشه. سوال من اینه. آیا شما به جای یک دستور Select ساده با چندتا شرط هر بار میای و همه داده رو از بانک داده میخونید و بعد با هم مقایسه میکنید؟
در مورد لایه تجاری میشه لطف کنید و بگید قراره این لایه کجای پروژه قرار بگیره؟ به نظر شما توی دیتابیس جای خوبیه برای این لایه؟ پس زبان های برنامه نویسی به چه درد میخورن؟ اگه صرفا قراره در حد ایجاد UI ازشون استفاده کرد که از همون HTML استفاده میکردن.
علاوه بر این اگه همون 500 کاربر شدن 5000 کاربر میدونید چه بار محاسباتی زیادی رو دارید به دوش سرور میذارید؟
در ضمن همون اندازه که امکان لو رفتن سورس برنامه هست امکان لو رفتن دیتابیس هم هست. این بستگی به محیط کار و امنیت محیطی که کار میکنید داره.
برخلاف نظر شما من میگم شما به عنوان یک برنامه نویس باید و باید نگران performance بانک داده و برنامه ای که مینویسه باشه. چون دیتابیس مهمترین منبع اشتراکی بین همه کاربران هست. درسته که بانک داده مدیر برای خودش داره ولی شما به عنوان برنامه نویس قراره پول چی رو بگیرید؟ کد نویسی برای یک بچه 10 ساله هم اینجور که شما میگید کار راحتیه. 4 تا متغییر و 2 تا حلقه و 5 تا متد ایجاد کردن کار سختی نیست.