Need advice about which tool to choose?Ask the StackShare community!

IndexedDB

33
94
+ 1
0
InfluxDB

1K
1.2K
+ 1
174
Add tool

IndexedDB vs InfluxDB: What are the differences?

# Differences Between IndexedDB and InfluxDB

IndexedDB and InfluxDB are two popular databases that serve different purposes in the tech world. 
Here are some key differences between IndexedDB and InfluxDB:

1. **Database Type**: IndexedDB is a client-side database which means it runs in the user's browser, while InfluxDB is server-side database designed for handling time-series data efficiently.

2. **Data Model**: IndexedDB follows a key-value pair data model and is mainly used for storing structured data, whereas InfluxDB is optimized for storing timestamped data and metadata.

3. **Query Language**: IndexedDB uses a more traditional querying language similar to SQL for data retrieval and manipulation, whereas InfluxDB uses its own query language specifically tailored for time-series data known as InfluxQL.

4. **Use Case**: IndexedDB is commonly used in web applications for client-side storage and caching, while InfluxDB is preferred for IoT and monitoring applications where time-series data is prevalent.

5. **Scalability**: InfluxDB is designed to handle high volumes of time-series data efficiently with features like data retention policies and continuous queries, making it more scalable for large datasets compared to IndexedDB.

6. **Community Support**: IndexedDB has solid support within the web development community due to its native browser integration, while InfluxDB enjoys popularity within the IoT and DevOps communities for its specialized time-series data handling capabilities.

In Summary, IndexedDB and InfluxDB differ in their database type, data model, query language, use cases, scalability, and community support, catering to distinct needs in the database ecosystem.
Advice on IndexedDB and InfluxDB
Needs advice
on
IndexedDBIndexedDBMongoDBMongoDB
and
PostgreSQLPostgreSQL

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

See more
Replies (1)
Recommends
on
MongoDBMongoDB

I think your best and cheapest choice is going to be MongoDB, Although Postgres is probably going to be the more scaleable approach, you likely have a good idea of how you want to present your data, and the app seems small enough that you shouldn't need to worry about scaling issues. It also sounds like your app can grow in a linear capacity based on the number of users, and the amount of data, which is the perfect use-case for noSQL databases (linear, predictable scaling).

Correct me if I have any of these assumptions wrong. 1. You're looking to have a relatively high-read with a lower write volume 2. Your app is essentially a list of objects that can belong to a category 3. users can create objects in this list.

I think Mongo is going to be what you're looking for on the following basis: 1. you absolutely need a database that is shared by all users of your app, therefor IndexedDB is out of the question. 2. You have semi-structured data 3. you probably want the cheapest solution.

I think Postgres is wrong for the following reasons: 1. your app is pretty simple in concept, SQL databases will add unnecessary complexity to your system, either through ORMs or SQL queries. (use an ORM if you go with SQL) 2. Hosting SQL databases for production is not cheap! the cheapest solution I know of for Postgres is ElephantSQL. It provides 20MB for free with 5 concurrent connections, you should be okay to manage these limitations if you decide to go Postgres in the end. Whereas mongoDB Atlas has some great free-tier options.

Although your data might be easier to model in Postgres, you can certainly model your data as a single list of items that have a category attached.

I don't want to officially recommend another tool, but you should really checkout prisma, firebase, amplify, or Azure App Services for this app! Just go completely backend-less [Firebase] https://firebase.google.com/ [Amplify] https://aws.amazon.com/amplify/ [Prisma] https://www.prisma.io/ [Azure App Services] https://azure.microsoft.com/en-us/services/app-service/?v=18.51

See more
Needs advice
on
InfluxDBInfluxDBMongoDBMongoDB
and
TimescaleDBTimescaleDB

We are building an IOT service with heavy write throughput and fewer reads (we need downsampling records). We prefer to have good reliability when comes to data and prefer to have data retention based on policies.

So, we are looking for what is the best underlying DB for ingesting a lot of data and do queries easily

See more
Replies (3)
Yaron Lavi
Recommends
on
PostgreSQLPostgreSQL

We had a similar challenge. We started with DynamoDB, Timescale, and even InfluxDB and Mongo - to eventually settle with PostgreSQL. Assuming the inbound data pipeline in queued (for example, Kinesis/Kafka -> S3 -> and some Lambda functions), PostgreSQL gave us a We had a similar challenge. We started with DynamoDB, Timescale and even InfluxDB and Mongo - to eventually settle with PostgreSQL. Assuming the inbound data pipeline in queued (for example, Kinesis/Kafka -> S3 -> and some Lambda functions), PostgreSQL gave us better performance by far.

See more
Recommends
on
DruidDruid

Druid is amazing for this use case and is a cloud-native solution that can be deployed on any cloud infrastructure or on Kubernetes. - Easy to scale horizontally - Column Oriented Database - SQL to query data - Streaming and Batch Ingestion - Native search indexes It has feature to work as TimeSeriesDB, Datawarehouse, and has Time-optimized partitioning.

See more
Ankit Malik
Software Developer at CloudCover · | 3 upvotes · 322.8K views
Recommends
on
Google BigQueryGoogle BigQuery

if you want to find a serverless solution with capability of a lot of storage and SQL kind of capability then google bigquery is the best solution for that.

See more
Decisions about IndexedDB and InfluxDB
Benoit Larroque
Principal Engineer at Sqreen · | 2 upvotes · 134K views

I chose TimescaleDB because to be the backend system of our production monitoring system. We needed to be able to keep track of multiple high cardinality dimensions.

The drawbacks of this decision are our monitoring system is a bit more ad hoc than it used to (New Relic Insights)

We are combining this with Grafana for display and Telegraf for data collection

See more
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of IndexedDB
Pros of InfluxDB
    Be the first to leave a pro
    • 58
      Time-series data analysis
    • 30
      Easy setup, no dependencies
    • 24
      Fast, scalable & open source
    • 21
      Open source
    • 20
      Real-time analytics
    • 6
      Continuous Query support
    • 5
      Easy Query Language
    • 4
      HTTP API
    • 4
      Out-of-the-box, automatic Retention Policy
    • 1
      Offers Enterprise version
    • 1
      Free Open Source version

    Sign up to add or upvote prosMake informed product decisions

    Cons of IndexedDB
    Cons of InfluxDB
      Be the first to leave a con
      • 4
        Instability
      • 1
        Proprietary query language
      • 1
        HA or Clustering is only in paid version

      Sign up to add or upvote consMake informed product decisions

      What is IndexedDB?

      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.

      What is InfluxDB?

      InfluxDB is a scalable datastore for metrics, events, and real-time analytics. It has a built-in HTTP API so you don't have to write any server side code to get up and running. InfluxDB is designed to be scalable, simple to install and manage, and fast to get data in and out.

      Need advice about which tool to choose?Ask the StackShare community!

      What companies use IndexedDB?
      What companies use InfluxDB?
      See which teams inside your own company are using IndexedDB or InfluxDB.
      Sign up for StackShare EnterpriseLearn More

      Sign up to get full access to all the companiesMake informed product decisions

      What tools integrate with IndexedDB?
      What tools integrate with InfluxDB?

      Sign up to get full access to all the tool integrationsMake informed product decisions

      Blog Posts

      What are some alternatives to IndexedDB and InfluxDB?
      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.
      Pouchdb
      PouchDB enables applications to store data locally while offline, then synchronize it with CouchDB and compatible servers when the application is back online, keeping the user's data in sync no matter where they next login.
      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 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.
      CouchDB
      Apache CouchDB is a database that uses JSON for documents, JavaScript for MapReduce indexes, and regular HTTP for its API. CouchDB is a database that completely embraces the web. Store your data with JSON documents. Access your documents and query your indexes with your web browser, via HTTP. Index, combine, and transform your documents with JavaScript.
      See all alternatives