StackShareStackShare
Follow on
StackShare

Discover and share technology stacks from companies around the world.

Follow on

© 2025 StackShare. All rights reserved.

Product

  • Stacks
  • Tools
  • Feed

Company

  • About
  • Contact

Legal

  • Privacy Policy
  • Terms of Service
  1. Stackups
  2. Application & Data
  3. Databases
  4. Databases
  5. IndexedDB vs LokiJS

IndexedDB vs LokiJS

OverviewDecisionsComparisonAlternatives

Overview

IndexedDB
IndexedDB
Stacks34
Followers97
Votes0
LokiJS
LokiJS
Stacks43
Followers57
Votes3
GitHub Stars6.8K
Forks483

IndexedDB vs LokiJS: What are the differences?

<IndexedDB and LokiJS are both popular databases used in web development, each with its own unique features and functionalities. Here, we will delve into the key differences between IndexedDB and LokiJS in a succinct manner.>

  1. Data Storage Mechanism: IndexedDB is a native database that stores data in browsers as key-value pairs, providing a robust storage solution for web applications. On the other hand, LokiJS is an in-memory database that can persist data on disk using serialization and deserialization techniques.

  2. Query Capabilities: IndexedDB employs a query language similar to SQL for retrieving data, allowing developers to perform complex queries efficiently. In contrast, LokiJS utilizes a collection-based approach for data manipulation, making it more suitable for simple queries and operations.

  3. Synchronization Support: IndexedDB offers better synchronization support and scalability for applications with large datasets, making it a preferred choice for enterprise-level applications. Meanwhile, LokiJS lacks built-in synchronization features, making it more suitable for smaller-scale applications or prototypes.

  4. Performance Optimization: IndexedDB provides indexes for optimizing query performance, allowing developers to fetch data quickly based on specified criteria. In comparison, LokiJS focuses on in-memory operations, which may lead to faster read and write operations for smaller datasets.

  5. Data Relationships Handling: IndexedDB supports the creation of complex data relationships through object stores and indexes, enabling developers to model intricate data structures efficiently. Conversely, LokiJS simplifies data relationships by using collections and documents, which may be more intuitive for straightforward data models.

In Summary, IndexedDB excels in large-scale data storage and query capabilities, while LokiJS prioritizes performance for small to medium-sized datasets with simpler data relationships.

Share your Stack

Help developers discover the tools you use. Get visibility for your team's tech choices and contribute to the community's knowledge.

View Docs
CLI (Node.js)
or
Manual

Advice on IndexedDB, LokiJS

Anonymous
Anonymous

May 17, 2020

Needs advice

I'm currently developing an app that ranks trending stuff ( such as games, memes or movies, etc. ) or events in a particular country or region. Here are the specs: My app does not require registration and requires cookies and localStorage to track users. Users can add new entries to each trending category provided that their country of origin is recorded in cookies. If each category contains more than 100 items then the oldest items get deleted. The question is: what kind of database should I use for managing this app? Thanks in advance

575k views575k
Comments

Detailed Comparison

IndexedDB
IndexedDB
LokiJS
LokiJS

This API uses indexes to enable high-performance searches of this data. While Web Storage is useful for storing smaller amounts of data, it is less useful for storing larger amounts of structured data.

LokiJS is a document oriented database written in javascript, published under MIT License. Its purpose is to store javascript objects as documents in a nosql fashion and retrieve them with a similar mechanism. Runs in node (including cordova/phonegap and node-webkit), nativescript and the browser.

Stores key-pair values; It is not a relational database; IndexedDB API is mostly asynchronous; It is not a structured query language; It has supported to access the data from same domain.
-
Statistics
GitHub Stars
-
GitHub Stars
6.8K
GitHub Forks
-
GitHub Forks
483
Stacks
34
Stacks
43
Followers
97
Followers
57
Votes
0
Votes
3
Pros & Cons
No community feedback yet
Pros
  • 3
    Can query the objects directly
Integrations
MongoDB
MongoDB
Slick
Slick
SQLite
SQLite
Knex.js
Knex.js
MSSQL
MSSQL
Node.js
Node.js
NativeScript
NativeScript
Apache Cordova
Apache Cordova
PhoneGap
PhoneGap

What are some alternatives to IndexedDB, LokiJS?

MongoDB

MongoDB

MongoDB stores data in JSON-like documents that can vary in structure, offering a dynamic, flexible schema. MongoDB was also designed for high availability and scalability, with built-in replication and auto-sharding.

Redis

Redis

Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache, and message broker. Redis provides data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes, and streams.

MySQL

MySQL

The MySQL software delivers a very fast, multi-threaded, multi-user, and robust SQL (Structured Query Language) database server. MySQL Server is intended for mission-critical, heavy-load production systems as well as for embedding into mass-deployed software.

PostgreSQL

PostgreSQL

PostgreSQL is an advanced object-relational database management system that supports an extended subset of the SQL standard, including transactions, foreign keys, subqueries, triggers, user-defined types and functions.

Microsoft SQL Server

Microsoft SQL Server

Microsoft® SQL Server is a database management and analysis system for e-commerce, line-of-business, and data warehousing solutions.

SQLite

SQLite

SQLite is an embedded SQL database engine. Unlike most other SQL databases, SQLite does not have a separate server process. SQLite reads and writes directly to ordinary disk files. A complete SQL database with multiple tables, indices, triggers, and views, is contained in a single disk file.

Cassandra

Cassandra

Partitioning means that Cassandra can distribute your data across multiple machines in an application-transparent matter. Cassandra will automatically repartition as machines are added and removed from the cluster. Row store means that like relational databases, Cassandra organizes data by rows and columns. The Cassandra Query Language (CQL) is a close relative of SQL.

Memcached

Memcached

Memcached is an in-memory key-value store for small chunks of arbitrary data (strings, objects) from results of database calls, API calls, or page rendering.

MariaDB

MariaDB

Started by core members of the original MySQL team, MariaDB actively works with outside developers to deliver the most featureful, stable, and sanely licensed open SQL server in the industry. MariaDB is designed as a drop-in replacement of MySQL(R) with more features, new storage engines, fewer bugs, and better performance.

RethinkDB

RethinkDB

RethinkDB is built to store JSON documents, and scale to multiple machines with very little effort. It has a pleasant query language that supports really useful queries like table joins and group by, and is easy to setup and learn.

Related Comparisons

Bootstrap
Materialize

Bootstrap vs Materialize

Laravel
Django

Django vs Laravel vs Node.js

Bootstrap
Foundation

Bootstrap vs Foundation vs Material UI

Node.js
Spring Boot

Node.js vs Spring-Boot

Liquibase
Flyway

Flyway vs Liquibase