17
SnappyDB Nabil Hachicha Paris Android User Group - 12/2013

SnappyDB - NoSQL database for Android

Embed Size (px)

DESCRIPTION

A fast and lightweight key/value database library for Android, based on "leveldb" and use "snappy" algorithm compression. http://snappydb.com

Citation preview

Page 1: SnappyDB - NoSQL database for Android

SnappyDBNabil Hachicha

Paris Android User Group - 12/2013

Page 2: SnappyDB - NoSQL database for Android

What?

Java API

Kryo

JNI

leveldb + snappy

Key-Value database

Page 3: SnappyDB - NoSQL database for Android

What?

Java API

Kryo

JNI

leveldb + snappy

Key-Value database

Page 4: SnappyDB - NoSQL database for Android

What?

Java API

Kryo

JNI

leveldb + snappy

Key-Value database

Page 5: SnappyDB - NoSQL database for Android

What?

Java API

Kryo

JNI

leveldb + snappy

Key-Value database

Page 6: SnappyDB - NoSQL database for Android

What?

Java API

Kryo

JNI

leveldb + snappy

Key-Value database

Page 7: SnappyDB - NoSQL database for Android

What?

Java API

Kryo

JNI

leveldb + snappy

Key-Value database

Page 8: SnappyDB - NoSQL database for Android

Why?

• SQLite Sucks!

• 1Mb BLOB limitation

• Boilerplate code

• SharedPreferences is not the solution

Page 9: SnappyDB - NoSQL database for Android

How? 1/2• Install using Maven

Page 10: SnappyDB - NoSQL database for Android

How? 1/2

• Or just copy the files into libs

Page 11: SnappyDB - NoSQL database for Android

How? 2/2

• Code

Page 12: SnappyDB - NoSQL database for Android

How? 2/2

• Code

Page 13: SnappyDB - NoSQL database for Android

How? 2/2

• Code

Page 14: SnappyDB - NoSQL database for Android

Benchmark 1/2

• SnappyDB vs SQLite with transaction

Page 15: SnappyDB - NoSQL database for Android

Benchmark 2/2

• SnappyDB vs SQLite without transaction

Page 16: SnappyDB - NoSQL database for Android

But wait there's more!

4 Mb of i18n text compressed to 2.5 Mb

Page 17: SnappyDB - NoSQL database for Android

Q&A

github.com/nhachicha/SnappyDB

@nabil_hachicha