Mysql
|
Postgresql
| |
advantage
|
Easy to work with:
MySQL can be installed very easily. Third-party tools, including visual ones (i.e. GUIs) make it extremely simple to get started with the database.
Feature rich:
MySQL supports a lot of the SQL functionality that is expected from a RDBMS -- either directly or indirectly.
Secure:
A lot of security features, some rather advanced, are built in MySQL.
Scalable and powerful:
MySQL can handle a lot of data and furthermore it can be used "at scale", if needed be.
Speedy:
Giving up some standards allows MySQL to work very efficiently and cut corners, thus providing speed gains.
|
An open-source SQL standard compliant RDBMS:
PostgreSQL is open-source and free, yet a very powerful relational database management system.
Strong community:
PostgreSQL is supported by a devoted and experienced community which can be accessed through knowledge-bases and Q&A sites 24/7 for free.
Strong third-party support:
Regardless of the extremely advanced features, PostgreSQL is adorned with many great and open-source third-party tools for designing, managing and using the management system.
Extensible:
It is possible to extend PostgreSQL programmatically with stored procedures, like an advanced RDBMS should be.
Objective:
PostgreSQL is not just a relational database management system but an objective one - with support for nesting, and more.
|
Disadvantage
|
Known limitations:
By design, MySQL does not intend to do everything and it comes with functional limitations that some state-of-the-art applications might require.
Reliability issues:
The way certain functionality gets handled with MySQL (e.g. references, transactions, auditing etc.) renders it a little-less reliable compared to some other RDBMSs.
Stagnated development:
Although MySQL is still technical an open-source product, there are complaints regarding the development process since its acquisition. However, it should be noted that there are some MySQL-based, fully-integrated databases that add value on top of the standard MySQL installations (e.g. MariaDB).
|
Performance:
For simple read-heavy operations, PostgreSQL can be an over-kill and might appear less performant than the counterparts, such as MySQL.
Popularity:
Given the nature of this tool, it lacks behind in terms of popularity, despite the very large amount of deployments - which might affect how easy it might be possible to get support.
Hosting:
Due to above mentioned factors, it is harder to come by hosts or service providers that offer managed PostgreSQL instances.
|
When To Use
|
Distributed operations:
When you need more than what SQLite can offer, including MySQL to your deployment stack, just like any stand-alone database server, brings a lot of operational freedom together with some advanced features.
High security:
MySQL's security features provide reliable protection for data-access (and use) in a simple way.
Web-sites and web-applications:
A great majority of web-sites (and web-applications) can simply work on MySQL despite the constraints. This flexible and somewhat scalable tool is easy to use and easy to manage -- which proves very helpful in the long run.
Custom solutions:
If you are working on a highly specific and extremely custom solution, MySQL can tag along easily and go by your rules thanks to its rich configuration settings and operation modes.
|
Data integrity:
When reliability and data integrity are an absolute necessity without excuses, PostgreSQL is the better choice.
Complex, custom procedures:
If you require your database to perform custom procedures, PostgreSQL, being extensible, is the better choice.
Integration:
In the future, if there is a chance of necessity arising for migrating the entire database system to a propriety (e.g. Oracle) solution, PostgreSQL will be the most compliant and easy to handle base for the switch.
Complex designs:
Compared to other open-source and free RDBMS implementations, for complex database designs, PostgreSQL offers the most in terms of functionality and possibilities without giving up on other valuable assets.
|
When Not To Use
|
SQL compliance:
Since MySQL does not [try to] implement the full SQL standard, this tool is not completely SQL compliant. If you might need integration with such RDBMSs, switching from MySQL will not be easy.
Concurrency:
Even though MySQL and some storage engines perform really well with read operations, concurrent read-writes can be problematic.
Lack of features:
Again, depending on the choice of the database-engine, MySQL can lack certain features, such as the full-text search.
|
Speed:
If all you require is fast read operations, PostgreSQL is not the tool to go for.
Simple set ups:
Unless you require absolute data integrity, ACID compliance or complex designs, PostgreSQL can be an over-kill for simple set-ups.
Replication:
Unless you are willing to spend the time, energy and resources, achieving replication with MySQL might be simpler for those who lack the database and system administration experience.
|
2016년 7월 24일 일요일
Mysql vs Postgresql
피드 구독하기:
댓글 (Atom)
댓글 없음:
댓글 쓰기