Amazon Redshift is a hosted data warehouse solution, from Amazon Web Services.
$0.24
per GB per month
SingleStore
Score 7.5 out of 10
N/A
SingleStore aims to enable organizations to scale from one to one million customers, handling SQL, JSON, full text and vector workloads in one unified platform.
If the number of connections is expected to be low, but the amounts of data are large or projected to grow it is a good solutions especially if there is previous exposure to PostgreSQL. Speaking of Postgres, Redshift is based on several versions old releases of PostgreSQL so the developers would not be able to take advantage of some of the newer SQL language features. The queries need some fine-tuning still, indexing is not provided, but playing with sorting keys becomes necessary. Lastly, there is no notion of the Primary Key in Redshift so the business must be prepared to explain why duplication occurred (must be vigilant for)
Well-Suited Scenarios: Real-Time Analytics: Financial trading platforms requiring instant insights. Operational Dashboards: Retail businesses monitoring live sales. IoT Data Processing: Smart device monitoring with high data ingestion. Fraud Detection: Banks detect suspicious transactions instantly. Less Appropriate Scenarios: Archival Storage: Cold data storage with infrequent access. Low-Volume Workloads: Small-scale apps with minimal data processing needs. Complex ETL Pipelines: Heavy data transformations without real-time demands.
Redshift is fully managed. Small teams do not have the resources to maintain a cluster. CloudWatch metrics are provided out-of-the-box, and it is easy to configure alarms.
Redshift's console allows you to easily inspect and manage queries, and manage the performance of the cluster.
Redshift is ubiquitous; many products (e.g., ETL services) integrate with it out-of-the-box.
Writing .csvs to S3 and querying them through Redshift Spectrum is convenient.
It could benefit from adding data integrity and programming tools common to other database management systems.
Amazon Redshift is based on PostgreSQL 8.0.2. That version of PostgreSQL was released in December 2006. While PostgreSQL was much improved since then, the new features were not implemented in Redshift. Many basic features are missing from it.
Primary keys can be declared but not enforced. Referential integrity (foreign keys) can be declared but not enforced. UNIQUE and CHECK constraints are not supported and cannot be declared.
IDENTITY can be declared on a column, and Redshift will put unique values into it. However: IDENTITY values in the newly inserted rows won’t be incremental or sequential. To implement a sequential number, you need to write your own custom code.
There are no stored procedures in Redshift. We are writing SQL script files, and then parsing and running them one statement at a time from a Python program. This also enabled us to implement execution-time error logging.
In SQL scripts, to check for the row count of affected rows, a complicated join query against some system tables or views has to be executed.
Data Control Language (DCL) does not exist. No statements like IF, WHILE, DO, RAISERROR, etc.
On performance of views… Views do not “pass-through” a query parameter which is a potential problem for performance.
When selecting against a view with the WHERE clause outside of the view, the inner query of the view will be executed first without consideration for the WHERE clause, and only then the WHERE clause will be applied.
Certain clauses of SQL work many times faster than other clauses. So be careful and test your statements for performance earlier rather than later, especially if working with a large data set.
There was a situation when DELETE FROM JOIN was unacceptably slow. Replacing JOIN with the USING clause made DELETE instantaneous.
It does not release a patch to have back porting; it just releases a new version and stops support; it's difficult to keep up to that pace.
Support engineers lack expertise, but they seem to be improving organically.
Lacks enterprise CDC capability: Change data capture (CDC) is a process that tracks and records changes made to data in a database and then delivers those changes to other systems in real time.
For enterprise-level backup & restore capability, we had to implement our model via Velero snapshot backup.
Overall it serves all our aspects of data management like data cleaning, data manipulation, and data reporting on the cloud platform. We can create stored procedures and triggers in it very easily as all the options are self suggested in it. We can easily attach the results of ARS to the other tools as well for drawing the statistical results.
[Until it is] supported on AWS ECS containers, I will reserve a higher rating for SingleStore. Right now it works well on EC2 and serves our current purpose, [but] would look forward to seeing SingleStore respond to our urge of feature in a shorter time period with high quality and security.
When it comes to ingestion speed, SingleStore is probably at the top. Being able to create pipelines using SQL to ingest data from S3, Kafka, and other sources, is a great advantages. This means you can dynamically ingest data by customizing your SQL queries. SingleStore pipelines are pretty sophisticated, yet very simple. Few lines of codes and you are ingesting data, while still able to perform analytical queries on your billions of row tables.
The support was great and helped us in a timely fashion. We did use a lot of online forums as well, but the official documentation was an ongoing one, and it did take more time for us to look through it. We would have probably chosen a competitor product had it not been for the great support
The support deep dives into our most complexed queries and bizarre issues that sometimes only we get comparing to other clients. Our special workload (thousands of Kafka pipelines + high concurrency of queries). The response match to the priority of the request, P1 gets immediate return call. Missing features are treated, they become a client request and being added to the roadmap after internal consideration on all client needs and priority. Bugs are patched quite fast, depends on the impact and feasible temporary workarounds. There is no issue that we haven't got a proper answer, resolution or reasoning
We allowed 2-3 months for a thorough evaluation. We saw pretty quickly that we were likely to pick SingleStore, so we ported some of our stored procedures to SingleStore in order to take a deeper look. Two SingleStore people worked closely with us to ensure that we did not have any blocking problems. It all went remarkably smoothly.
We evaluated [Amazon] Redshift vs BigQuery vs Amazon EMR, back in 2014. Back then BigQuery cost was slightly higher than that of [Amazon] Redshift price structure. Amazon EMR, needs lots more management (Admin tasks) and EMR is designed to be ephemeral and not designed to be a data store. [Amazon] Redshift was ideal with the price structure, performance and ROI[.]
Reduces database sprawl, ETL costs, infrastructure expenses, etc. Supports horizontal scaling, unlike PostgreSQL & Aurora, and real-time analytics and fast transactions (HTAP), unlike Snowflake & ClickHouse.Handles high-volume workloads with thousands of concurrent queries. No need for ETL processes, unlike BigQuery & Snowflake. Works with JSON, relational, and key-value data, unlike ClickHouse.
Lower operational complexity - Installation and maintenance is pretty easy
Object scale when used can compete with Traditional Warehouse Systems like Teradata, Netezza, Greenplum
Adds lot of value to the business like couple of operations which never worked in traditional DBMS including HANA, Oracle In Memory, SQL Server In Memory just flew in SingleStore