Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. iOS
  3. YapDatabase

YapDatabase

NOASSERTIONObjective-C2.7

A high-performance collection/key/value store with plugin architecture built atop SQLite for Swift and Objective-C developers.

GitHubGitHub
3.3k stars366 forks0 contributors

What is YapDatabase?

YapDatabase is a collection/key/value store built on SQLite, designed for Swift and Objective-C developers on Apple platforms. It provides a high-performance, thread-safe database solution with features like built-in caching, metadata support, and an extensible plugin architecture to simplify data persistence in mobile and desktop apps.

Target Audience

Swift and Objective-C developers building applications for iOS, macOS, tvOS, or watchOS who need a robust, performant local database with advanced features like concurrency and full-text search.

Value Proposition

Developers choose YapDatabase for its native API that avoids complex SQL, built-in performance optimizations like caching, and extensibility through plugins, making it a versatile alternative to Core Data or raw SQLite for Apple ecosystem projects.

Overview

YapDB is a collection/key/value store with a plugin architecture. It's built atop sqlite, for Swift & objective-c developers.

Use Cases

Best For

  • Building high-performance iOS/macOS apps with complex data relationships
  • Implementing full-text search capabilities in Swift or Objective-C applications
  • Managing concurrent database reads and writes without blocking the UI thread
  • Storing and syncing data with CloudKit in Apple ecosystem apps
  • Creating extensible database architectures with custom plugins
  • Animating table or collection view updates with automatic data sorting

Not Ideal For

  • Cross-platform applications needing a single database solution for both iOS and Android
  • Projects requiring direct, complex SQL queries or advanced SQLite features not exposed by the API
  • Simple data persistence scenarios where lighter options like UserDefaults or Core Data's lightweight mode suffice

Pros & Cons

Pros

Thread-Safe Concurrency

Allows simultaneous reads and writes across multiple threads without blocking the main thread, ensuring UI responsiveness as highlighted in the README's concurrency feature.

Built-In Object Caching

Configurable cache skips deserialization to reuse objects directly from memory, improving performance for frequent data access, as noted in the caching section.

Automatic View Updates

Uses closures for filtering and sorting data, with views that auto-update to simplify table animations, making data-driven UI changes effortless per the wiki.

Extensible Plugin Architecture

Supports custom extensions and includes CloudKit sync out-of-the-box, enabling adaptable functionality for various use cases, as shown in the extensions feature.

Cons

Apple Ecosystem Lock-In

Limited to macOS, iOS, tvOS, and watchOS, making it unsuitable for cross-platform development or server-side applications outside Apple's environment.

Abstraction Over SQLite

While it simplifies SQL usage, it may not expose all SQLite capabilities, potentially limiting advanced query optimizations or complex data manipulations.

Initial Setup Complexity

Requires understanding of the extensions architecture and configuration, which can be more involved compared to simpler persistence solutions like Core Data for basic needs.

Frequently Asked Questions

Quick Stats

Stars3,331
Forks366
Contributors0
Open Issues100
Last commit3 years ago
CreatedSince 2012

Tags

#database#ios#caching#objective-c#key-value-store#full-text-search#sqlite#concurrency#swift#macos

Built With

S
SQLite
O
Objective-C
S
Swift

Included in

iOS51.7k
Auto-fetched 1 day ago

Related Projects

MMKVMMKV

An efficient, small mobile key-value storage framework developed by WeChat. Works on Android, iOS, macOS, Windows, POSIX, and OHOS.

Stars18,557
Forks1,984
Last commit3 days ago
RealmRealm

Realm is a mobile database: a replacement for Core Data & SQLite

Stars16,600
Forks2,219
Last commit1 month ago
WCDBWCDB

WCDB is a cross-platform database framework developed by WeChat.

Stars11,514
Forks1,493
Last commit14 days ago
SQLite.swiftSQLite.swift

A type-safe, Swift-language layer over SQLite3.

Stars10,141
Forks1,620
Last commit6 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub