Questions tagged [tokyo-cabinet]

Tokyo Cabinet is a modern key-value based (NoSQL) database system.

From: http://fallabs.com/tokyocabinet/

Tokyo Cabinet is a library of routines for managing a database. The database is a simple data file containing records, each is a pair of a key and a value. Every key and value is serial bytes with variable length. Both binary data and character string can be used as a key and a value. There is neither concept of data tables nor data types. Records are organized in hash table, B+ tree, or fixed-length array.

Tokyo Cabinet is developed as the successor of GDBM and QDBM on the following purposes. They are achieved and Tokyo Cabinet replaces conventional DBM products.

improves space efficiency : smaller size of database file. improves time efficiency : faster processing speed. improves parallelism : higher performance in multi-thread environment. improves usability : simplified API. improves robustness : database file is not corrupted even under catastrophic situation. supports 64-bit architecture : enormous memory space and database file are available. Tokyo Cabinet is written in the C language, and provided as API of C, Perl, Ruby, Java, and Lua. Tokyo Cabinet is available on platforms which have API conforming to C99 and POSIX. Tokyo Cabinet is a free software licensed under the GNU Lesser General Public License.

78 questions
0
votes
1 answer

python: incrementing values in a tokyo cabinet store

I am using tcdb to hold a large key-value store. The keys are strings representing user IDs, the values are dicts of the form {'coord':0,'node':0,'way':0,'relation':0} The store is filled iterating over a data file that has coord, node, way and…
mvexel
  • 1,093
  • 1
  • 10
  • 25
0
votes
1 answer

Is this a bug of TokyoCabinet?

It's basically a binary tree which first searches against hash to decide whether it's left or right: if(hash > rec.hash){ off = rec.left; entoff = rec.off + (sizeof(uint8_t) + sizeof(uint8_t)); } else if(hash < rec.hash){ off = rec.right; …
Je Rog
  • 5,675
  • 8
  • 39
  • 47
0
votes
1 answer

Tokyo Cabinet behaviour without explicit transactions

Haven't found anything on subject in docs. I wonder how reliable and concurrent TC is when I don't start/commit transactions explicitly, i.e. in "implicit transaction" mode. I need to write only one record per transaction, i.e. no batch writes. But…
dimgel
  • 61
  • 1
  • 7
0
votes
2 answers

which is the efficient db for autosuggest for some million datas

i need to know which will be the best db for an autosugest db with some 80 million records... 1)Redis 2)tokyoCabinet 3)Kyoto Cabinet
mumt
  • 49
  • 2
  • 6
0
votes
1 answer

Tokyo cabinet does not compile on cygwin

I am completely newbie with cygwin and I am trying to compile tokyo cabinet I get the following error and cannot figure out why I have this conflict Could someone help me out ? Thanks $ make gcc -c -I. -I/usr/local/include -I/home/Larry/include…
Larry
  • 1
0
votes
2 answers

java.lang.UnsatisfiedLinkError - loading multiple lib files?

At first, this error looked normal to me, but after trying all known things, I still have no luck running my program. So please let me explain in detail. I am trying to run TC(TokyoCabinet) example using TC's java api on Ubuntu. Both TC and Tc-java…
siddharth178
  • 265
  • 3
  • 9
0
votes
1 answer

Using multiple key value stores

I am using Ruby on Rails and have a situation that I am wondering if is appropriate for using some sort of Key Value Store instead of MySQL. I have users that have_many lists and each list has_many words. Some lists have hundreds of words and I…
TenJack
  • 1,594
  • 4
  • 21
  • 35
0
votes
3 answers

invalid conversion from ‘const void*’ to ‘const char*’ in tokoyo cabinate table database

i am new to tokyo cabin ate and i compile the example program and i am getting an error can any one tell me why i get this error invalid conversion from ‘const void*’ to ‘const char*’ #include #include #include…
ragiv
  • 19
  • 1
  • 4
0
votes
1 answer

Compilation problem in tokyo cabinate C program

i am new to tokyo cabinet and i have installed it and i have run the example c program i am getting error... while i compile with gcc gcc -O tcadbex.c /tmp/cc7IEOht.o: In function `main': tcadbex.c:(.text+0xd): undefined reference to…
raj
  • 303
  • 1
  • 4
  • 5
0
votes
1 answer

tokyo-python Install Issues

I'm trying to use Tokyo Cabinet in Python via the tokyo-python package. I've installed Cabinet, and the Cabinet development library. However, whenever I try to install tokyo-python with pip or easy_install, I get this ugliness. matt@amalgam:~/$…
Matt Luongo
  • 14,371
  • 6
  • 53
  • 64
0
votes
1 answer

Any chance to get Core Data using Tokyo Cabinet as the persistent store?

I watched a free high quality video with Aaron Hillegass about Core Data vs Tokyo Cabinet. Besides that this guy is amazingly funny (really, if you want to laugh now, watch it!), he shows off Tokyo Cabinet beeing about 40x faster than Core Data. I…
dontWatchMyProfile
  • 45,440
  • 50
  • 177
  • 260
0
votes
1 answer

How to store an array as the value in Tokyo Cabinet?

Is there any way I can store an array of numbers in a Tokyo Cabinet db? For example, I have predictable arrays of values such as 1 => [1, 2, 444, 0.987], 2 => [2, 23, 123, -0.234], 3 => [3, 1, 34, 1.456] I would like to store the above in a TC…
punkish
  • 13,598
  • 26
  • 66
  • 101
0
votes
2 answers

Custom sort by value using tokyo cabinet in C

I'm implementing a btree using tokyo cabinet, but I'd like to know if it's possible to keep the values sorted. I know I can use a tcbdbsetcmpfunc to set the custom comparison function for the keys, but not sure about the values? I ask this because…
Pete Darrow
  • 455
  • 5
  • 20
0
votes
1 answer

Tokyo Cabinet cluster and PHP (via memcache)

I have 2 servers running tokyo cabinet in a cluster (2 hard drives so 4 instances of Tokyo Cabinet). if it's just one instance of tokyo cabinet it's fairly straight forward to use php memcache protocol to communicate. My question is how do you…
Patrick
  • 939
  • 2
  • 8
  • 10
0
votes
1 answer

Tokyo Cabinet gives segmentation fault in tcbdb.h on *sp = rec->vsiz;

I am using Tokyo Cabinet for creating persistent storage database. I am using void *tcbdbget(TCBDB *bdb, const void *kbuf, int ksiz, int *sp); It gives segfault in tcbdb.h file on *sp = rec->vsiz;. Is there a bug in Tokyo Cabinet or am I missing…
dev0z
  • 2,275
  • 1
  • 15
  • 16