سؤال

وأنا بحاجة إلى وسيلة للقيام عمليات البحث قيمة المفتاح-عبر (يحتمل) مئات غيغابايت من البيانات. ومن الناحية المثالية شيء على أساس جدول هاش الموزعة، التي تعمل بشكل جيد مع جافا. وينبغي أن يكون المتسامحة، ومفتوحة المصدر.

ويجب أن يكون مخزن مستمر، ولكن من الناحية المثالية بيانات ذاكرة التخزين المؤقت في الذاكرة لتسريع الامور.

وينبغي أن تكون قادرة على دعم المتزامنة يقرأ ويكتب من آلات متعددة (يقرأ سيكون 100X أكثر شيوعا على الرغم من). في الأساس الغرض من ذلك هو أن تفعل البحث الأولي السريع للبيانات التعريف المستخدم للحصول على خدمة الإنترنت.

ويمكن لأي شخص أن يوصي أي شيء؟

هل كانت مفيدة؟

المحلول

وأنت قد ترغب في التحقق من Hazelcast . يتم توزيعه / تقسيم سوبر لايت، وسهلة ومجانية.

java.util.Map map = Hazelcast.getMap ("mymap");
map.put ("key1", "value1");

والتحيات،

و-talip

نصائح أخرى

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

واعتمادا على حالة الاستخدام، الطين قد يكون مجرد ما تحتاجه.

وربما يجب عليك تحديد إذا كان يحتاج أن تكون مستمرة أم لا، في الذاكرة أم لا، وما إلى ذلك هل يمكن أن تحاول: <لأ href = "http://www.danga.com/memcached/" يختلط = "نوفولو noreferrer "> http://www.danga.com/memcached/

وتشمل

والجداول التجزئة الموزعة نسيج، الحبل، والمعجنات. ينبغي للمرء أن هذه تناسب احتياجاتك.

وOpenChord يبدو واعدا. ولكنني كنت أيضا النظر بنك البحرين للتنمية أو أي دولة أخرى غير جدول هاش -SQL، مما يجعلها موزعة يمكن أن يكون القتلى سهلة (إذا كان عدد العقد التخزين (تقريبا) ثابت، على الأقل)، مجرد تجزئة مفتاح على العميل للحصول على الملقم المناسب.

nmdb يبدو وكأنه لها بالضبط ما تحتاجه. وزعت، في ذاكرة التخزين المؤقت، مع استمرار تخزين على القرص. وتشمل الحالية ينتهي في الظهر qdbm، ديسيبل بيركلي، و(المضافة مؤخرا بعد البريد الإلكتروني السريع إلى المطور) طوكيو مجلس الوزراء . حجم الرئيسية / قيمة محدودة رغم ذلك، ولكن أعتقد أنه يمكن رفع إذا كنت لا تحتاج إلى دعم TICP.

وحاول هيكل خريطة توزع من Redisson ، على أساس أنها <لأ href = "http://redis.io/ "يختلط =" noreferrer نوفولو "> الخادم رديس . عن طريق تكوين كتلة رديس قد تقسيم البيانات عبر خوادم 1000.

والاستخدام سبيل المثال:

Redisson redisson = Redisson.create();

ConcurrentMap<String, SomeObject> map = redisson.getMap("anyMap");
map.put("123", new SomeObject());
map.putIfAbsent("323", new SomeObject());
map.remove("123");

...

redisson.shutdown();

وDNS لديه القدرة على القيام بذلك، وأنا لا أعرف كيف كبيرة كل واحد من السجلات الخاصة بك هو (8GB الأطنان من البيانات الصغيرة؟)، لكنها قد تعمل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top