PDA

View Full Version : پایگاه داده noSqlی مناسب برای پیاده سازی کوئری های N:M



darya69
سه شنبه 26 آبان 1394, 10:01 صبح
با سلام


برای کوئری زدن روابط N به M در پایگاه های داده ای رابطه ای از یک جدول join اضافی به منظور ایندکس گذاری استفاده می شود.


میخواستم ببینم برای کوئری زدن این روابط از کدام پایگاه داده ای nosql بهتر است استفاده شود؟ داکیومنتی یا گرافی یا ... . نام پایگاه داده را هم بفرمایید ممنون میشم.

مبین رنجبر
چهارشنبه 27 آبان 1394, 13:02 عصر
با سلام


برای کوئری زدن روابط N به M در پایگاه های داده ای رابطه ای از یک جدول join اضافی به منظور ایندکس گذاری استفاده می شود.


میخواستم ببینم برای کوئری زدن این روابط از کدام پایگاه داده ای nosql بهتر است استفاده شود؟ داکیومنتی یا گرافی یا ... . نام پایگاه داده را هم بفرمایید ممنون میشم.

با اکثر پایگاه داده های غیررابطه ای نظیر MongoDB ، Cassandra ، Neo4j و... می توان روابط Many to Many را پیاده سازی کرد.

darya69
چهارشنبه 27 آبان 1394, 14:08 عصر
به نظر شما کدوم بهتر هستن؟ گرافی هم پایگاه داده ای رابطه ای هست؟من فک میکردم nosql است
با کاساندرا و اچ بیس که مثل اوراکل باید جدول join به کار برده شود که بنابراین همون اوراکل ترجیح داده میشه میخواسم ببینم پایگاه داده مناسب تر برای این کار چی هست
ممنونم

مبین رنجبر
چهارشنبه 27 آبان 1394, 16:16 عصر
به نظر شما کدوم بهتر هستن؟ گرافی هم پایگاه داده ای رابطه ای هست؟من فک میکردم nosql است
با کاساندرا و اچ بیس که مثل اوراکل باید جدول join به کار برده شود که بنابراین همون اوراکل ترجیح داده میشه میخواسم ببینم پایگاه داده مناسب تر برای این کار چی هست
ممنونم

اصلاح میکنم "پایگاه های داده ای غیررابطه ای" . معیارها برتری به نکات زیادی بستگی دارد. هم کاساندرا و هم HBase پایگاه های داده ای قدرتمندی هستند که هرکدام معایب و مزایا خودشان را دارند.

darya69
شنبه 30 آبان 1394, 10:42 صبح
با کاساندرا و اچ بیس اگر بخواهم رابطه n به m برقرار کنیم باید از جدول join استفاه کنیم که با خود اوراکل هم میشه این کارو کرد
بین پایگاه داده های گرافی میدونید کدوم پایگاه هست که عملکرد neo4j رو داشته باشه و بشه به صورت توزیع شده ذخیرش کرد آخه برای neo4j باید کل داده ها روی پایگاه داده روی یک سیستم ذخیره شوند و در هدوپ کارایی نداره متاسفانه!!

مبین رنجبر
شنبه 30 آبان 1394, 13:01 عصر
با کاساندرا و اچ بیس اگر بخواهم رابطه n به m برقرار کنیم باید از جدول join استفاه کنیم که با خود اوراکل هم میشه این کارو کرد
بین پایگاه داده های گرافی میدونید کدوم پایگاه هست که عملکرد neo4j رو داشته باشه و بشه به صورت توزیع شده ذخیرش کرد آخه برای neo4j باید کل داده ها روی پایگاه داده روی یک سیستم ذخیره شوند و در هدوپ کارایی نداره متاسفانه!!

میتونید از Titan (http://thinkaurelius.github.io/titan/) استفاده کنید که هم به صورت توزیع شده هست و هم می تواند به هدوپ (http://s3.thinkaurelius.com/docs/titan/0.5.0/hadoop.html) متصل شود.

darya69
یک شنبه 01 آذر 1394, 08:54 صبح
ممنون نظرتون در مورد orientDB چی هست؟ او بهتره یا titan?
در مورد ArrengoDB و FlockDB چی؟
داده های ما خیلی زیاد هستن در هر ثانیه
و اینکه به روزرسانی گراف برای کدوم بهتر است؟

مبین رنجبر
یک شنبه 01 آذر 1394, 10:31 صبح
ممنون نظرتون در مورد orientDB چی هست؟ او بهتره یا titan?
در مورد ArrengoDB و FlockDB چی؟
داده های ما خیلی زیاد هستن در هر ثانیه
و اینکه به روزرسانی گراف برای کدوم بهتر است؟

ملاک برتری کلی برای همه نداریم. OrientDB و ArrangeDB در اصل پایگاه داده سندگرا هستند و ارتباطات آنها با استفاده از گراف مدیریت می شود. به دلیل اینکه این دو پایگاه داده از انواع مدل ها اعم از گراف،سند و کلید-مقدار پشتیبانی میکند به آنها پایگاه داده همه فن حریف میگویند. ولی این همه فن حریف بودن همیشه خوب نیست و تمرکز اونها بر روی یک مدل خاص نیست.

در مورد FlockDB که برای شرکت توییتر است برای مشکلات خاص این شرکت تولید شد که به مدت ۴ سال است که خبری از توسعه و به روزرسانی آن وجود ندارد و اگر به صفحه رسمی این پروژه در سایت گیت هاب بروید می بینید که آخرین به روزرسانی برای سال ۲۰۱۰ بوده است.

darya69
یک شنبه 01 آذر 1394, 11:10 صبح
آخه orientDB برای اینکه یک پایگاه داده گرافی قابل sharding ایجاد کنه اومده یک پایگاه داده گرافی قابل تیکه شده با ایده پایگاه ترکیبی گراف-سند داده.
همین ایده باعث نمیشه از titan بهتر عمل کنه؟

مبین رنجبر
یک شنبه 01 آذر 1394, 11:23 صبح
آخه orientDB برای اینکه یک پایگاه داده گرافی قابل sharding ایجاد کنه اومده یک پایگاه داده گرافی قابل تیکه شده با ایده پایگاه ترکیبی گراف-سند داده.
همین ایده باعث نمیشه از titan بهتر عمل کنه؟

این موضوع رو Titan با استفاده از Partition مدیریت میکنه. هر کدام از اونها نگاه مخصوص به خودشان را دارند که بسته به مسئله ای که دارید می توانید از آنها استفاده کنید. شاید استفاده OrientDB از SQL بر بعضی از شرایط مزایا به حساب آید و همینطور برعکس.

darya69
یک شنبه 01 آذر 1394, 14:02 عصر
ممنون از پاسخ های خوبتون
بین
OrientDB و ArrangeDB به نظرتون کدوم برای پیمایش گراف بهتر هستن؟

مبین رنجبر
یک شنبه 01 آذر 1394, 15:33 عصر
ممنون از پاسخ های خوبتون
بین
OrientDB و ArrangeDB به نظرتون کدوم برای پیمایش گراف بهتر هستن؟


ملاک بهتری از نظر شما چیست؟ به عکس زیر دقت کنید:

https://www.arangodb.com/wp-content/uploads/2015/09/chart_v2071.png

darya69
دوشنبه 02 آذر 1394, 10:32 صبح
ممنونم
ببخشید این نمودار از چه سایتی هست؟
من همچین نموداری از سایت ArangoDB دیدم که اومده بود پایگاه داده خودشو از همه بهتر نشون داده بود
چجوری مطمئن بشم؟

مبین رنجبر
دوشنبه 02 آذر 1394, 11:15 صبح
ممنونم
ببخشید این نمودار از چه سایتی هست؟
من همچین نموداری از سایت ArangoDB دیدم که اومده بود پایگاه داده خودشو از همه بهتر نشون داده بود
چجوری مطمئن بشم؟

این نموداری است که خود شرکت ArangoDB ارائه داده است. برای اطمینان باید تمامی مسائل مثل پیدا کردن کوتاه ترین مسیر و... را برای هر کدام از این پایگاه های داده ای گرافی پیاده سازی،اجرا و مقایسه نمایید.

darya69
سه شنبه 03 آذر 1394, 10:48 صبح
ببخشید من خیلی سوال پرسیدم
آیا s2graph هم به صورت توزیع شده روی هدوپ هست؟
به نظرتون بهتر از titan است

مبین رنجبر
سه شنبه 03 آذر 1394, 17:30 عصر
ببخشید من خیلی سوال پرسیدم
آیا s2graph هم به صورت توزیع شده روی هدوپ هست؟
به نظرتون بهتر از titan است

S2Graph به صورت توزیع شده هست ولی منبعی از استفاده آن در هدوپ موجود نیست. فکر میکنم در مورد ملاک برتری تا اینجا بحث کردیم و نیازی به تکرار مکررات نمی بینم. در Titan پیمایش گراف کارآمد نیست به این دلیل که VertexId خودش را به هر گره اختصاص می دهد. در مقابل Titan از جامعه کاربری بزرگ تری برخوردار است و کنترل تراکنش های بهتری نسبت به S2Graph دارد.

darya69
شنبه 07 آذر 1394, 10:41 صبح
به دلیل پدیده edge cut میگین titan برای پیمایش گرافی مناسب نیست؟ اما پیمایش گرافی من تا سطح یک هست فقط. یعنی پیمایشی به اون صورت نیست و برای هر گره همسایه ها مهم هستند
باز هم تایتان مناسب نیست؟
البته هنوز بین تایتان و دیتابیس گراف-سندی مانند orientdb موندم.
ممنون از پاسخاتون