Free Sample
+ Collection

Getting Started with LevelDB

Andy Dent

Learn how to build a high-performing app with an embedded database on iOS or OS X thanks to this superb, hands-on guide to LevelDB. Designed for beginners, but also a useful reference manual for the more experienced.
RRP $17.99
RRP $29.99
Print + eBook

Want this title & more?

$12.99 p/month

Subscribe to PacktLib

Enjoy full and instant access to over 2000 books and videos – you’ll find everything you need to stay ahead of the curve and make sure you can always get the job done.

Book Details

ISBN 139781783281015
Paperback130 pages

About This Book

  • Understand how a sorted key-value store like LevelDB can support any app
  • Learn to use LevelDB from simple C++ code on iOS and OS/X
  • Use LevelDB as a support for any OS/X, iPhone, or iPad app through a series of practical examples

Who This Book Is For

The book is meant for developers who want an embedded database for their applications. Experienced programmers can pick up on the sophisticated data mapping patterns and tuning tips.

Getting Started with LevelDB requires a minimal background in programming in C++ or Objective-C for OS/X or iOS and familiarity with XCode. Therefore it teaches enough C++ to use LevelDB without presuming any C++ knowledge, so is suitable for beginner Objective-C programmers.

Table of Contents

Chapter 1: Downloading LevelDB and Building with OS X
Installing LevelDB
Moving to Xcode
Chapter 2: Installing LevelDB and Building for iOS
Building the static LevelDB library for iOS
Chapter 3: Basic Key-value Operations – Creating and Deleting Data
Understanding C++ idioms in LevelDbHelper.h
Using Get and Put for strings
Understanding Slice – the efficient LevelDB parameter object
Using Get and Put with binary values
Using Delete – the final third of key-value operations
Wrapping operations in WriteBatch for increased safety
Chapter 4: Iteration and Searching Keys
Introducing Sample04 to show you loops and searches
Chapter 5: Using Objective-C
Open source wrappers for LevelDB in Objective-C
Using Objective-C for simple data access
Extending APLevelDB to expose the C++ API
Importing text data to load a database
Chapter 6: Integrating with a Cocoa UI
Meeting the data source needs with LevelDB
Creating the OS X GUI
Connecting the database to the NSTableView
Connecting record details to the editing form
Recommended Xcode books
Chapter 7: Debugging with REPLs and Command Lines
Building and running the LevelDB dump utility
Installing Node.js and the lev utility
Chapter 8: Richer Keys and Data Structures
Completing the data source for a rich GUI
Extending the OS X GUI to fully support editing
Connecting the database to the NSTableView
Connecting record details to the editing form
Saving data with key updates
Responding to the new and delete commands
Deciding when to store one record or split values
Implementing schemas for LevelDB
Dealing with integer key endianness
Chapter 9: A Document Database
Key design for searching the document database
Database fields for tracking documents
Databases as documents via packages
Chapter 10: Tuning and Key Policies
Understanding the Level in LevelDB
Understanding how Bloom filters help guesses
Using settings that affect performance
Tuning and structuring data by scenario

What You Will Learn

  • Install LevelDB and program in C++ or Objective-C to build OS/X, iPhone, and iPad apps
  • Extend simple sorted key-value stores to support graph and relational data styles
  • Understand iOS interface building for an app that uses databases
  • Learn the GUI patterns needed for a database-backed app
  • Explore debugging features by adding an embedded web server to your iOS app
  • Install additional libraries and see how to use LevelDB from JavaScript via Node as well as Ruby and Python
  • Compare SQL to LevelDB including SQL-like relational schemas and learn the implementation obligations to maintain database integrity

In Detail

Mobile and standalone desktop apps often need to store and rapidly retrieve data. LevelDB scales from a few simple values up to trillions of records and is flexible enough to store any kind of data.

Getting Started with LevelDB progresses through the sophisticated ways to use databases. It starts by explaining how to install and build LevelDB from the basics, and moves on to explain the different Objective-C layers for LevelDB. It can be used as an introduction to database-backed iOS apps, as well as provides clarification to key-value stores and helps you understand how they relate to SQL.

LevelDB is a flexible data solution that uses key-value stores to allow for the development of highly complex, efficient data storage systems. From the basics of data storage and retrieval to complex cases involving data storage for apps, this book covers a wide range of LevelDB topics

Even relatively simple apps may have the need to search their data using different terms. Getting Started with LevelDB shows how to design keys to retrieve and store data efficiently. You will learn how its “levelled” nature delivers speedy writes and how to tune its settings and design for performance. You will also see a few techniques for debugging and tuning.

Getting Started with LevelDB will leave you as an accomplished LevelDB programmer, confident you can build a complex database-backed app with high performance on iOS or OS/X.


Read More