Hubspot Germany بدأت رحلتي في شركة صخر 2005 و النهاردة بشتغل في كل مكان إشتغلت فيه اتعلمت حاجات من real time scenarios هحاول أحكي عن كل إلى اتعلمته هنا في القناة
ازاي نطبق دا على فلتر منتج سيارات مثلا عندنا باراميترز كتير بنفلتر بيها وكل عملية سيرش بيكون ليها مجموعة من الباراميتزر المختلفة في الفلتر زي مثلا الفئة الموديل البراند اللون سعة المحرك ......
انت الافضل ليك مش relational DB في الحالة دي لو ال application حسب ما فهمت read/query intensive يعني معظم العمليات عليها من ال users هي read/search ممكن ساعتها تستخدم elastic search افضل ليك مش بس عشان ال read اكتر من ال write كمان عشان بيدعم ال dynamic query filters لو مش هتعرف تنقل elastic search يبقى تحاول تحدد اهم queries او اشهرهم و تعمل ليهم composite index بس متزودش كتير عشان ال performance بتاع ال write . ممكن برضه تعمل مثلا composite index بأهم 3-4 columns موجودين في كل ال queries في حالة ان حجم ال rows اللي ينطبق عليهم ال filter بناء على ال 3-4 columns ده مش كبير و تسيب ال DB تعمل filter ليهم بباقي ال query columns ، ده هيبقى ابطأ لو حجم ال records اللي بيرجعو من ال 3-4 columns دول كبير.
هل يحبذ عمل علاقة بين جدولين من كثير الى كثير في عمود جيسون لو كنت غير مهتم ب consistency وبهذا اكون وفرت مساحة جدول في قاعدة البيانات , اقصد بدل ما اعمل جدول ثالث اكسر فيه علاقة من كثير الى كثير بين جدولين , مثلا في جدول الصفوف اعمل عمود جيسون اسجل فيه المفاتيح الرئيسية للمدرسين الذي يدرسون هذا الفصل , بستخدم هذا العمود في واجهة الاستاذ اعرض له الصفوف الذي يدرسها , لكن ممكن احتاج اعمل كويري وتحديث على هذا العمود كثير ؟
معلش مش فاهم السؤال قوي ، بس خليني اقول تاني استخدام ال JSON column type عموما يبقى لما اكون مش عارف ال structure بتاع data معينة يعني بكلم مثلا service بترجع data مختلفة اكتر حسب نوع ال request لكن لو أنا عارف ال structure بتاع البيانات الافضل اعمل table بيها و اخزن و استرجع البيانات منه ده هيبقى اسرع حتى لو ال application مش كبيرة و عدد المستخدمين مش كبير.
موش فاهم جزئية حجم ال json يعني في حالات مثلا موش هيبقى اكبر من حقل نوع text في قاعدة بيانات blog مثلا اللي بيتسجل فيه المقالة كاملة؟! يعني مثلا لو عملته زي screenshot لفاتورة وهتبقى غالبا للقراءة فقط هتبقى فين مشكلة حجمها؟!
لو بستخدم JSON field ال DB هتعمل validation على ال format و لو JSONB هياخد وقت اكتر في ال parsing لو أنا بخزن بس ال data من غير ما اعمل عليها query على fields معينة مثلا في ال JSON كدة مستفدتش منه، ممكن استخدم Blob و خلاص ، و ان كان كل ما ال size بتاع ال field بيزيد استخدم حاجة زي S3 او مفيش Manipulation على ال fields و ال size كبر.
IDK, why using the jsonb inside the schema unless it is urgntly needed, my main two reasons, the quires perfromance(query optmizier) uses statstics from the input columns but incase of the json is can't, the second is the footprint of json within table is actully huge, as the key and the value both are stored in the db. I am actully using it in my project, but it is simpler, and my application is not that big so it won't make any differenct even on the long run.
As long as you are aware of the size of the application and the potential growth , should be fine , I used it in 2 different applications , one was in MySQL and the other was in PostgreSQL but we suffered from the scalability limitations and switched at least for MySQL case to S3.
سؤال لو سمحت - ليه بل releation database ميرجعوش ال result بتاعت ال query علي شكل json (حاسه هيكون احسن من ال rows) لاحظت انه sql server بيدعم حاجه زي كدا وينفع تعمل كدا بس اظن بقيت ال DBMS مش بيدعمو
ال JSON مش معمول عشان يكون protocol نقل بيانات كبيرة، تخيل مثلا ال json عشان اكتب بيه 1000 row هكرر اسم ال field كام مرة في كل row. هو مش optimized for low level communication و حجمه كبير، كون ان SQL server بيدعمه مش معناه انه افضل اختيار على طول.
@@ahmedhashem-404 هندسه اولا جزاك الله خيرا على مجهودك و بارك الله في علمك ، طيب في هذه الحالة ايهم افضل استعمال حاجه مثل ماب ستراكت ام كتابة الكود مباشرة
Just discovered your channel, thanks for the good topics. I'm middle java developer but still confused by the usage of datetime in java. Can you please make one video where you explains which Datetime type to use because I see we have LocalDateTime, ZonedDateTime, UTC, sql date, and what might be a wrong a usage of localdatetime in ditributed systems, logs and when a country change its timezone... I think you can make a complete topic about date, and it would be awsome. Thank you
@momedalhouma14 The video is out for you ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-4M5iah6vvNQ.html If not already, don't forget to subscribe and follow on X : x.com/AhmadBinHashem/ :)
Multi-Threading Fundamentals in Java [Write Production Ready Code] بالعربي ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-FoWVZ_IPFsY.html الفيديو ده بتكلم على concurrency بالكود و اتكلمت على تفاصيل كتير ، شوف الفيديو و قولي ايه تاني نتكلم عنه
Write multi thread app in Java [Write Production Ready Code] بالعربي ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-ZtcjazRHXKQ.html ده برضه فيديو تاني concurrency بس ابسط
تفتكر هيخرن ال comment اللي كتبته فين ؟! غير ان لو اعتبرنا ان الفيديو عبارة عن ملف فيديو للتبسيط لكل resolution ، هيعرف ال file path بتاع الفيديو بال resolutions ازاي ؟ غير عندك playlists و علاقة الفيديوهات بالقناة و قصة كبيرة
جميل، على أي أساس، أو كيف احسب إني ممكن احتاجها؟ هل مثلا لو حجم قاعدة البيانات تعدى ١ جيجا مثلا، هل بعدد سجلات معينة؟ هل عدد مستخدمين متزامنين متوقع؟ مثلا انا عندي تطبيق هيستغل في مصنع لكن عدد المستخدمين الإجمالي لن يتجاوز ٣٠ ولكنه سيحتوى على سجلات كثيرة في جدول معين مختص بالاجراءات (في الحقيقة هو pivot) رابط اكتر من جدول مع بعض
خلينا نفكر زي GitHub ، فكرو بس لل migration من MySQL لما ال performance بقى فيه مشاكل و مش عارفين يسرعو ال app عشان ال DB بطيئة مكانش فيه رقم معين حركهم، شايف ان الافضل البساطة في التصميم و حسب الطلب لو ال load زاد و ال DB بطيئة تروح لحاجة زي كدة بس الاول تقسم ال App على اكتر من DB . لو انت بتبني حاجة عارف انها to handle مثلا 30 مليون write a day ، ممكن تبدأ ب Vitess او اي حل تاني scalable .