Need advice about which tool to choose?Ask the StackShare community!
MarkLogic vs TimescaleDB: What are the differences?
Developers describe MarkLogic as "Schema-agnostic Enterprise NoSQL database technology, coupled w/ powerful search & flexible application services". MarkLogic is the only Enterprise NoSQL database, bringing all the features you need into one unified system: a document-centric, schema-agnostic, structure-aware, clustered, transactional, secure, database server with built-in search and a full suite of application services. On the other hand, TimescaleDB is detailed as "Scalable time-series database optimized for fast ingest and complex queries. Purpose-built as a PostgreSQL extension". TimescaleDB is the only open-source time-series database that natively supports full-SQL at scale, combining the power, reliability, and ease-of-use of a relational database with the scalability typically seen in NoSQL databases.
MarkLogic and TimescaleDB can be primarily classified as "Databases" tools.
Some of the features offered by MarkLogic are:
- Search and Query
- ACID Transactions
- High Availability and Disaster Recovery
On the other hand, TimescaleDB provides the following key features:
- Packaged as a PostgreSQL extension
- Full ANSI SQL
- JOINs (e.g., across PostgreSQL tables)
TimescaleDB is an open source tool with 7.28K GitHub stars and 385 GitHub forks. Here's a link to TimescaleDB's open source repository on GitHub.
Developing a solution that collects Telemetry Data from different devices, nearly 1000 devices minimum and maximum 12000. Each device is sending 2 packets in 1 second. This is time-series data, and this data definition and different reports are saved on PostgreSQL. Like Building information, maintenance records, etc. I want to know about the best solution. This data is required for Math and ML to run different algorithms. Also, data is raw without definitions and information stored in PostgreSQL. Initially, I went with TimescaleDB due to PostgreSQL support, but to increase in sites, I started facing many issues with timescale DB in terms of flexibility of storing data.
My major requirement is also the replication of the database for reporting and different purposes. You may also suggest other options other than Druid and Cassandra. But an open source solution is appreciated.
Hi Umair, Did you try MongoDB. We are using MongoDB on a production environment and collecting data from devices like your scenario. We have a MongoDB cluster with three replicas. Data from devices are being written to the master node and real-time dashboard UI is using the secondary nodes for read operations. With this setup write operations are not affected by read operations too.
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
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.
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.
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.
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
Pros of MarkLogic
- RDF Triples5
- JSON3
- Marklogic is absolutely stable and very fast3
- REST API3
- JavaScript3
- Enterprise3
- Semantics2
- Multi-model DB2
- Bitemporal1
- Tiered Storage1
Pros of TimescaleDB
- Open source9
- Easy Query Language8
- Time-series data analysis7
- Established postgresql API and support5
- Reliable4
- Paid support for automatic Retention Policy2
- Chunk-based compression2
- Postgres integration2
- High-performance2
- Fast and scalable2
- Case studies1
Sign up to add or upvote prosMake informed product decisions
Cons of MarkLogic
Cons of TimescaleDB
- Licensing issues when running on managed databases5