Elasticsearch is an enterprise search tool from Elastic in Mountain View, California.
$16
per month
PostgreSQL
Score 8.7 out of 10
N/A
PostgreSQL (alternately Postgres) is a free and open source object-relational database system boasting over 30 years of active development, reliability, feature robustness, and performance. It supports SQL and is designed to support various workloads flexibly.
Four years ago, I needed to choose a web-scale database. Having used relational databases for years (PostgreSQL is my favorite), I needed something that could perform well at scale with no downtime. I considered VoltDB for its in-memory speed, but it's limited in scale. I …
DynamoDB is good and is also a truly global database as a service on AWS. However, if your organization is not using AWS, then Cassandra will provide a highly scalable and tuneable, consistent database. Cassandra is also fault-tolerant and good for replication across multiple …
Technology selection should be done based on the need and not based on buzz words in the market (google searching). If your data need flat file approach and more searchable based on index and partition keys, then it's better to go for Cassandra. Cassandra is a better choice …
Cassandra is the only NoSQL database I have extensive experience with. In terms of other open source database solutions, I can say that I like Cassandra as much or equally as traditional Oracle MySQL, and a lot more than PostgresSQL. The decision to use Cassandra was driven by …
We first started out experimenting with PostgreSQL's fulltext searching capabilities for our project. As our dataset grew, PostgreSQL began to slow down too much for our purposes. The simple fact that Elasticsearch has built-in clustering and replication was enough for us to …
When we first evaluated Elasticsearch, we compared it with alternatives like traditional RDBMS products (Postgres, MySQL) as well as other noSQL solutions like Cassandra & MongoDB. For our use case, Elasticsearch delivered on two fronts. First, we got a world-class search …
Team Lead Xactimate Online Xactware Solutions, Inc
Chose Elasticsearch
The only other competitor we researched was mongo as some of our table information is stored in an XML file, but as we were doing searching we gravitated towards Elasticsearch. We knew mongo had some of the qualifications for what we wanted, but went with Elasticsearch for …
Ability to support JSON queries, Percolator, ease to set up and custom routing were some of the reasons why we decided to use Elasticsearch instead of Solr.
Cassandra and Solr are other products that I haven't used but might be considered "competitors". Splunk is very, very good in terms of search but it seemed limited to logging. It is also quite pricey compared to ElasticSearch which is free.
MySQL: As I mentioned before, MySQL has superior write performance. However, Postgres has super read performance and safer ACID transactions, i.e. less potential data loss. Elasticsearch: we use Elasticsearch to store free-form customer data, but that's a different use-case. …
In my experience using all of these products over many years, PostgreSQL is better than any of them in reliability, performance, productivity, cost, scalability and interoperability across operating systems.
PostgrPostgreSQL as a transaction db engine against oracle and sql server works well. TPM wise compared to MySQL and MariaDB, on an evan scale. SQL function supports, far outweighs compared to MySQL and MariaDB. PG Extensions allow for flexibiltity and scalability. Allows …
As I have been telling all along, PostgreSQL is much cheaper compared to the other RDBMS solutions. It has got better performance with some of the application services that we are using and is easy to maintain. Overall, we are satisfied migrating to PostgreSQL database clusters.
We evaluated both PostgreSQL and MySQL, two popular open source relational databases. While they are very similar in most areas, PostgreSQL's reliability and performance won us over, plus it has much better support from cloud vendors we also work with.
It's a viable alternative, with a rich feature set and a reliable system. PostgreSQL is one of the best RDBMS's currently on the market in 2020, it serves just as well as a starter, PoC DB for any software idea as a final, highly valuable database solution for big systems.
We evaluated MySQL, Postgres, MSSQL Server and a few other hosted options. We loved the fact that PG is both a GIS system and a traditional RDBMS. The mindshare around PG is high -- thousands of answers on StackOverflow, very active developer community and a punctual release …
As mentioned previously, I came from primarily a MySQL background. I had used other databases such as SQL Server and Oracle, but MySQL is what I used most of the time for my RDBMS needs before switching to PostgreSQL. MySQL/MariaDB certainly have some great strengths, but I …
Apache Cassandra is a NoSQL database and well suited where you need highly available, linearly scalable, tunable consistency and high performance across varying workloads. It has worked well for our use cases, and I shared my experiences to use it effectively at the last Cassandra summit! http://bit.ly/1Ok56TK It is a NoSQL database, finally you can tune it to be strongly consistent and successfully use it as such. However those are not usual patterns, as you negotiate on latency. It works well if you require that. If your use case needs strongly consistent environments with semantics of a relational database or if the use case needs a data warehouse, or if you need NoSQL with ACID transactions, Apache Cassandra may not be the optimum choice.
Elasticsearch is a really scalable solution that can fit a lot of needs, but the bigger and/or those needs become, the more understanding & infrastructure you will need for your instance to be running correctly. Elasticsearch is not problem-free - you can get yourself in a lot of trouble if you are not following good practices and/or if are not managing the cluster correctly. Licensing is a big decision point here as Elasticsearch is a middleware component - be sure to read the licensing agreement of the version you want to try before you commit to it. Same goes for long-term support - be sure to keep yourself in the know for this aspect you may end up stuck with an unpatched version for years.
PostgreSQL is best used for structured data, and best when following relational database design principles. I would not use PostgreSQL for large unstructured data such as video, images, sound files, xml documents, web-pages, especially if these files have their own highly variable, internal structure.
Continuous availability: as a fully distributed database (no master nodes), we can update nodes with rolling restarts and accommodate minor outages without impacting our customer services.
Linear scalability: for every unit of compute that you add, you get an equivalent unit of capacity. The same application can scale from a single developer's laptop to a web-scale service with billions of rows in a table.
Amazing performance: if you design your data model correctly, bearing in mind the queries you need to answer, you can get answers in milliseconds.
Time-series data: Cassandra excels at recording, processing, and retrieving time-series data. It's a simple matter to version everything and simply record what happens, rather than going back and editing things. Then, you can compute things from the recorded history.
As I mentioned before, Elasticsearch's flexible data model is unparalleled. You can nest fields as deeply as you want, have as many fields as you want, but whatever you want in those fields (as long as it stays the same type), and all of it will be searchable and you don't need to even declare a schema beforehand!
Elastic, the company behind Elasticsearch, is super strong financially and they have a great team of devs and product managers working on Elasticsearch. When I first started using ES 3 years ago, I was 90% impressed and knew it would be a good fit. 3 years later, I am 200% impressed and blown away by how far it has come and gotten even better. If there are features that are missing or you don't think it's fast enough right now, I bet it'll be suitable next year because the team behind it is so dang fast!
Elasticsearch is really, really stable. It takes a lot to bring down a cluster. It's self-balancing algorithms, leader-election system, self-healing properties are state of the art. We've never seen network failures or hard-drive corruption or CPU bugs bring down an ES cluster.
Cassandra runs on the JVM and therefor may require a lot of GC tuning for read/write intensive applications.
Requires manual periodic maintenance - for example it is recommended to run a cleanup on a regular basis.
There are a lot of knobs and buttons to configure the system. For many cases the default configuration will be sufficient, but if its not - you will need significant ramp up on the inner workings of Cassandra in order to effectively tune it.
I would recommend Cassandra DB to those who know their use case very well, as well as know how they are going to store and retrieve data. If you need a guarantee in data storage and retrieval, and a DB that can be linearly grown by adding nodes across availability zones and regions, then this is the database you should choose.
To get started with Elasticsearch, you don't have to get very involved in configuring what really is an incredibly complex system under the hood. You simply install the package, run the service, and you're immediately able to begin using it. You don't need to learn any sort of query language to add data to Elasticsearch or perform some basic searching. If you're used to any sort of RESTful API, getting started with Elasticsearch is a breeze. If you've never interacted with a RESTful API directly, the journey may be a little more bumpy. Overall, though, it's incredibly simple to use for what it's doing under the covers.
Postgresql is the best tool out there for relational data so I have to give it a high rating when it comes to analytics, data availability and consistency, so on and so forth. SQL is also a relatively consistent language so when it comes to building new tables and loading data in from the OLTP database, there are enough tools where we can perform ETL on a scalable basis.
The data queries are relatively quick for a small to medium sized table. With complex joins, and a wide and deep table however, the performance of the query has room for improvement.
We've only used it as an opensource tooling. We did not purchase any additional support to roll out the elasticsearch software. When rolling out the application on our platform we've used the documentation which was available online. During our test phases we did not experience any bugs or issues so we did not rely on support at all.
There are several companies that you can contract for technical support, like EnterpriseDB or Percona, both first level in expertise and commitment to the software.
But we do not have contracts with them, we have done all the way from googling to forums, and never have a problem that we cannot resolve or pass around. And for dozens of projects and more than 15 years now.
The online training is request based. Had there been recorded videos available online for potential users to benefit from, I could have rated it higher. The online documentation however is very helpful. The online documentation PDF is downloadable and allows users to pace their own learning. With examples and code snippets, the documentation is great starting point.
We evaluated MongoDB also, but don't like the single point failure possibility. The HBase coupled us too tightly to the Hadoop world while we prefer more technical flexibility. Also HBase is designed for "cold"/old historical data lake use cases and is not typically used for web and mobile applications due to its performance concern. Cassandra, by contrast, offers the availability and performance necessary for developing highly available applications. Furthermore, the Hadoop technology stack is typically deployed in a single location, while in the big international enterprise context, we demand the feasibility for deployment across countries and continents, hence finally we are favor of Cassandra
As far as we are concerned, Elasticsearch is the gold standard and we have barely evaluated any alternatives. You could consider it an alternative to a relational or NoSQL database, so in cases where those suffice, you don't need Elasticsearch. But if you want powerful text-based search capabilities across large data sets, Elasticsearch is the way to go.
Although the competition between the different databases is increasingly aggressive in the sense that they provide many improvements, new functionalities, compatibility with complementary components or environments, in some cases it requires that it be followed within the same family of applications that performs the company that develops it and that is not all bad, but being able to adapt or configure different programs, applications or other environments developed by third parties apart is what gives PostgreSQL a certain advantage and this diversification in the components that can be joined with it, is the reason why it is a great option to choose.
I have no experience with this but from the blogs and news what I believe is that in businesses where there is high demand for scalability, Cassandra is a good choice to go for.
Since it works on CQL, it is quite familiar with SQL in understanding therefore it does not prevent a new employee to start in learning and having the Cassandra experience at an industrial level.
We have had great luck with implementing Elasticsearch for our search and analytics use cases.
While the operational burden is not minimal, operating a cluster of servers, using a custom query language, writing Elasticsearch-specific bulk insert code, the performance and the relative operational ease of Elasticsearch are unparalleled.
We've easily saved hundreds of thousands of dollars implementing Elasticsearch vs. RDBMS vs. other no-SQL solutions for our specific set of problems.
Easy to administer so our DevOps team has only ever used minimal time to setup, tune, and maintain.
Easy to interface with so our Engineering team has only ever used minimal time to query or modify the database. Getting the data is straightforward, what we do with it is the bigger concern.