2012-04-07 19 views
15

100 milyondan fazla anahtar-değer çiftine sahibim (bir anahtar birden fazla değere sahip olabilir). Anahtarının değeri 32 bit bayt dizisi olan Tokyo Cabinet'in BDB'sini (B + Tree DB) kullanıyorum.Tokyo Kabin - Bellek Ayarı

Tokyo Kabini'nde ne kadar bellek (alt ve üst sınır) kullanabileceğini ayarlamak mümkün mü? Aslında 8GB'lık bir belleğim var, ama büyük hafızanın avantajlarından yararlanamıyor gibi görünüyor.

başka nokta ben böylece, nasıl ayarlanacağı bilmesini istiyorum ki

tokyoCabinet.tune() tokyoCabinet.optimize() tokyoCabinet.setxmsiz() tokyoCabinet.setcache() bu parametreler olduğunu davam için maksimum ayarlama yapabilir. Şimdiden teşekkürler. Herhangi bir fikir benim için de faydalıdır.

+2

gücüyle serbest blok havuzun elemanlarının sayısı belirtir olduğunu. Yaratıcılar Kyoto Kabini'ne taşınmayı şiddetle tavsiye ediyorlar - Tokyo Kabini'nin bakımı gibi görünmüyor. –

+0

Tokyo Kabini web sitesinden, "BTW, Kyoto Dolabı'nı biliyor musunuz? Aslında, Tokyo Kabini'nden daha güçlü ve kullanışlı bir kütüphanedir. Bu süre zarfında Kyoto Kabini, Tokyo Kabini'ni her açıdan aşıyor. Kyoto Dolabı. " –

cevap

1

tokyoCabinet.setcache() - genellikle yarım veya daha fazla dosya boyutu

tokyoCabinet.tune() 'dir, önbellek boyutunu ayarlamak - açık

önce karma kova dosyası ve B-ağacı indeks parametrelerini ayarlamak tokyoCabinet.optimize() - dosya zaten açıldığında karma kümesi dosyasının ve BTree dizininin yeni parametrelerinin ayarlanmış olması, kayıt sayılarının ayarda (bnum) ayarlanandan daha fazla artması durumunda, optimize ederek(), Örneğin. bnum> 100 M * 2 değeri 32 bit -

tokyoCabinet.setxmsiz() genellikle

100 milyon anahtar-değer çiftleri

dosya boyutu

olup, bu işlevi kullanacak şekilde, ilave hafıza boyutunu ayarlamak bayt dizisi -> recsize = 32 bit = 8 bayt -> apow = 3 (= 2^3)

array 1024 elemanları varsa: recsize, = 13

apow ayarlamaklmemb, her yaprak sayfasındaki üye sayısını belirtir. En fazla 0 değilse, varsayılan değer belirtilir. Varsayılan değer, her yaprak olmayan sayfadaki üye sayısını belirtir. 128.

nmemb 10. En fazla 0 değilse, varsayılan değer belirtilir. Varsayılan değer 256. fpow Sen Kyoto Kabine, Tokyo Kabine netice kontrol etmek isteyebilirsiniz 2.

The official documentation