lmdb   116

« earlier    

Howard Chu - LMDB [The Databaseology Lectures - CMU Fall 2015] - YouTube | https://www.youtube.com/
For icing on the cake, packages build by default with useful compile-time features such as consistent use of the ELF rpath header, allowing programs to run in the target environment without requiring LD_LIBRARY_PATH to be set at all, since the built binaries contain internal annotations telling the runtime linker where its library dependencies are to be found.
openldap  lmdb  database  dba  conference  talk 
10 weeks ago by kme
Some final notes about LMDB review - Ayende @ Rahien | https://ayende.com/
Given what I've seen about the common wisdom of good code, I'd say most of it is garbage. Good code is code that yields the correct result using the fewest resources. In particular, your notion about gotos:


It's an interesting argument, but it all comes crashing down in the very last sentence:

"In [2] Guiseppe Jacopini seems to have proved the (logical) superfluousness of the go to statement. The exercise to translate an arbitrary flow diagram more or less mechanically into a jump-less one, however, is not to be recommended. Then the resulting flow diagram cannot be expected to be more transparent than the original one. "

Fundamentally all of those structured programming constructs are just fancy dressing for gotos. When using them gives a compact representation, use them. When using them just complicates the apparent flow, use a goto. It's that simple.
lmdb  codereview  goto  consideredharmful  programming  forthecomments 
10 weeks ago by kme
Creating an LMDB database in Python · Deep learning at the University of Chicago
LMDB is the database of choice when using Caffe with large datasets. This is a tutorial of how to create an LMDB database from Python. First, let’s look at the pros and cons of using LMDB over HDF5.

Reasons to use HDF5:

Simple format to read/write.
Reasons to use LMDB:

LMDB uses memory-mapped files, giving much better I/O performance.
Works well with really large datasets. The HDF5 files are always read entirely into memory, so you can’t have any HDF5 file exceed your memory capacity. You can easily split your data into several HDF5 files though (just put several paths to h5 files in your text file). Then again, compared to LMDB’s page caching the I/O performance won’t be nearly as good.
python  lmdb  hdf5  database 
june 2017 by griddell
lmdb — lmdb 0.92 documentation
LMDB is a tiny database with some excellent properties:

Ordered map interface (keys are always lexicographically sorted).
Reader/writer transactions: readers don’t block writers, writers don’t block readers. Each environment supports one concurrent write transaction.
Read transactions are extremely cheap.
Environments may be opened by multiple processes on the same host, making it ideal for working around Python’s GIL.
Multiple named databases may be created with transactions covering all named databases.
Memory mapped, allowing for zero copy lookup and iteration. This is optionally exposed to Python using the buffer() interface.
Maintenance requires no external process or background threads.
No application-level caching is required: LMDB fully exploits the operating system’s buffer cache.
python  lmdb  database 
april 2017 by griddell
LDAP at Lightning Speed - LMDB
Howard Chu covers highlights of the LMDB design and discusses some of the internal improvements in slapd due to LMDB, as well as the impact of LMDB on other projects.
lmdb  rocksdb 
december 2016 by vdm

« earlier    

related tags

access  acid-state  acid  alternative  api  b-tree  bdb  benchmark  benchmarks  berkeleydb  binding  bloat  boltdb  bookmarks_bar  btree  c++  c  cabinet  code  codereview  comparison  complexity  compression  conference  consideredharmful  consistency  data  database  databases  datastore  datastores  db  dba  dbms  deeplearning  delicious  design  dev  development  documentation  edu  efficiency  embedded  encapsulation  engine  external  fast  filesystem  forthecomments  gc  go  golang  good  goto  graph  haskell  hdf5  heroes  http  hyperleveldb  implementation  in-memory  index  influxdb  information  interface  java  javascript  jni  kafka  key-value  key  keyvalue  kv  ldap  leveldb  levelup  library  lightning  log  logs  lsm  lua  lucene  luxio  mapped  mdb  memory  memorymapped  method  mmap  mongo  mvcc  nanomsg  node.js  nosql  nsa  objective-c  open-source  open  openldap  opensource  performance  persistent  piperesearch  port  powerdns  programming  pypi  python  q&a  query  range  redis  retrieval  rocksdb  sample  samza  scheduler  secondary  serialization  server  simd  singleton  software  sort  source  sql  sqlite  sqlite3  sstable  storage  store  streams  structure  succint  symas  talk  task  tokukv  tokyo  tradeoffs  transaction  tree  value  variant  vcache  video  vs  ycsb  zambezi 

Copy this bookmark: