
为什么基础设施工程师更喜欢MySQL?
作为一名开发者除了得心应手的编程语言,功能强大的IDE,最常用到的应当属于各种各样的数据库了。不同的数据库侧重点也有所不同,一个适合的数据库虽然达不到让你的工作事半功倍,但也能让你更轻松。来自数据库初创公司PlanetScale的产品工程师Mike Coutermarsh,就在自己的个人博客上分享了他对于为什么基础设施工程师更喜欢MySQL,而产品工程师更喜欢Postgres(PostgreSQL
作为一名开发者除了得心应手的编程语言,功能强大的IDE,最常用到的应当属于各种各样的数据库了。不同的数据库侧重点也有所不同,一个适合的数据库虽然达不到让你的工作事半功倍,但也能让你更轻松。
来自数据库初创公司PlanetScale的产品工程师Mike Coutermarsh,就在自己的个人博客上分享了他对于为什么基础设施工程师更喜欢MySQL,而产品工程师更喜欢Postgres(PostgreSQL)的理解。
在Mike Coutermarsh看来,不同类型的工程师重视的方向不同。基础设施工程师通常更关心可靠性、故障情况、升级和永远不会丢失数据等问题。产品工程师虽然也关心这些问题,但他们更关心那些能使用户功能构建更容易的工具。
MySQL 数据库体积小、速度快、成本低、可靠性高。正好可以满足基础设施工程师操作简单,容易备份、复制、故障转移、升级的需求。
而且MySQL还具备一下特性:
- 使用 C 和 C++ 编写,并使用多种编译器进行测试,保证源代码的可移植性。
- 支持 AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows 等多种操作系统。
- 为多种编程语言提供了 API。这些编程语言包括 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby 和 Tcl 等。
- 支持多线程,充分利用 CPU 资源。
- 优化的 SQL 查询算法,有效地提高查询速度。
- 既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入其他的软件中。
- 提供多语言支持,常见的编码如中文的 GB 2312、BIG 5,日文的 Shift_JIS 等都可以用作数据表名和数据列名。
- 提供 TCP/IP、ODBC 和 JDBC 等多种数据库连接途径。
- 提供用于管理、检查、优化数据库操作的管理工具。
- 支持大型的数据库。可以处理拥有上千万条记录的大型数据库。支持多种存储引擎。
而Postgres其实跟MySQL数据库很像,都是使用SQL语言来执行资料的查询。这些资料通过外键联系在一起,以一系列表格的形式存在。但相比MySQL,Postgres的优势在于其可编程性,即对于使用数据库资料的实际应用能力更强。如果一个产品工程师更喜欢ostgres,通常是因为其可编程性,也就是postgis、jsonb/hstore等东西。这可以让他们在应用中使用一些能快捷建立某些东西。
希望这可以帮助你理解为什么你经常能看到许多大厂选择使用MySQL。
更多推荐