编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

Linux基础架构学习 - MySQL,Git和Postfix - Day01

wxchong 2024-10-02 01:25:19 开源技术 12 ℃ 0 评论

第四章

MySQL,Git和Postfix

数据库,修订控制和电子邮件服务器是组织基础结构的基本组件。本章包含三个主题:MySQL,Git和Postfix。无论是内部托管还是公共云托管,您所做的选择都应该充分了解并基于技术,业务和工程资源。

MySQL是一个非常流行的开源关系数据库。它自1995年以来一直存在,直到最近,它还是大量Linux发行版的事实上的数据库。在提到LAMP架构时,M代表MySQL.Git是领先的开源版本控制软件。它的分布式特性使其成为开源开发人员的热门选择。它在基础设施管理中的应用也越来越受欢迎。

Postfix已取代Sendmail作为许多Linux发行版的邮件传输代理(MTA)的选择。 Postfix快速,安全且易于使用,并且得到了很好的支持。

数据库类别

数据库可以分为至少以下类别,如果不是更多:

  • Relational
  • Object
  • NoSQL
  • Cloud
  • Distributed
  • NewSQL

关系数据库已经流行了很长时间,并且是迄今为止最为人所知的。一个众所周知的开源关系数据库的例子是MySQL。这些类型的数据库存储信息和信息组件之间的关系。用于关系数据库的软件称为关系数据库管理系统(RDBMS)。人力资源数据库非常适合存储在RDBMS中,因为员工及其数据在数据库可以表示的关系之间具有很强的关系。

对象数据库不存储关系;相反,他们存储对象。任何可以存储为对象的东西都是对象数据库的良好候选者。多媒体应用是对象数据库的理想选择。内容管理系统也可以使用对象数据库。对象数据库的示例是db4o(http://www.db4o.com/)。

NoSQL数据库非常适合非结构化数据,这些数据可能与其组件之间没有很强的关系。此外,与RDBMS相比,NoSQL数据库通常可以处理更大量的数据。一个流行的NoSQL数据库是MongoDB(http://www.mongodb.org/)。您可以在http://nosql-database.org/找到NoSQL数据库列表。

云数据库托管在公共云中。 Google托管云数据库,例如Google云端存储和Google云数据存储。还有其他云数据库,例如Amazon DynamoDB,它是NoSQL数据库。

分布式数据库跨多个实例存储数据,因此它们被称为分布式。开源分布式数据库的一个例子是Cassandra(https://cassandra.apache.org/)。分布式数据库是RDBMS和对象数据库的替代品,用于大规模的数据。例如,数百万用户的社交网络数据可能是Cassandra的潜在合适候选者。

NewSQL数据库提供NoSQL的可伸缩性,具有RDBMS的原子性,一致性,隔离性和持久性保证。 VoltDB(http://voltdb.com/)和Clustrix(http://www.clustrix.com/)是NewSQL数据库的示例。

挑选数据库

有许多开源数据库解决方案可供使用。 一些流行的包括以下内容:

  • MySQL
  • MariaDB (a fork of MySQL; very similar to it)
  • Cassandra
  • PostgreSQL
  • MongoDB
  • CouchDB
  • SQLite
  • Redis

还有许多其他数据库。 根据我的经验,我列出了一些广泛的安装基础。 您可以在https://en.wikipedia.org/wiki/List_of_relational_database_management_systems以及http://www.fromdev.com/2012/07/best-open-source-nosql-database.html查看更完整的列表。

一些在Linux上运行的主要商业数据库是:

  • Oracle (http://www.oracle.com/index.html)
  • Informix (http://www-01.ibm.com/software/data/informix/)
  • IBM DB2 (http://www-01.ibm.com/software/data/db2/)

数据库的选择应基于以下因素:

  • Licensing
  • Ease of use
  • Support from community
  • Commercial support availability
  • Type of database required (object, relational, NoSQL)
  • Frequency of updates
  • Database suitability for application

在设计人力资源应用程序时,如上所述,数据本质上是关系型的 - 员工有姓名,社会保险号,工资和其他此类相关信息。 因此,选择关系数据库是合适的。 对于诸如照片,视频和艺术之类的多媒体应用,对象数据库更受欢迎,因为这些媒体可以作为对象轻松存储。 云数据库具有由云提供商管理的优势; 但是,您的数据最终掌握在云提供商手中,这在所有情况下可能并不理想。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表