阿里巴巴数据库历程:放弃 Oracle 选 MySQL 的来龙去脉
题注:这是一篇转引的历史文章,原文是 冯春培 的演讲主题记录,链接参考: http://cio.it168.com/a2012/0415/1337/000001337474.shtml 在这个主题中,冯春培 和我们分享了阿里巴巴去Oracle,选择MySQL以及之后对于其他数据库产品的使用和尝试,这些亲历者的
题注:这是一篇转引的历史文章,原文是 冯春培 的演讲主题记录,链接参考:
http://cio.it168.com/a2012/0415/1337/000001337474.shtml
在这个主题中,冯春培 和我们分享了阿里巴巴去Oracle,选择MySQL以及之后对于其他数据库产品的使用和尝试,这些亲历者的讲述对我们尤其具有参考价值。
【IT168资讯】由IT168(ITPUB、IXPUB、ChinaUnix)主办的2012中国数据库技术大会(DTCC)于(以下简称大 会)2012年4月13日~15日在北京召开。
在4月15 日上午召开的DBA管理行为专场6上来自支付宝数据平台负责人、阿里巴巴首席DBA冯春培就"数据之路:技术创新与业务实践"作了主题发言。
在主题发言中,冯春培详细的给DBA介绍了阿里的数据库应用历程。之前在我们数据库大会现场来自淘宝的DBA丁原为我们介绍了淘宝放弃ORACLE,选用MYSQL的原因,详细见《弃Oracle选mysql 解读淘宝开源应用实践》,而冯春培则向DBA介绍了阿里选择MYSQL的细节历程。
▲支付宝数据平台负责人、阿里巴巴首席DBA冯春培
冯春培指出:
淘宝最早用的MYSQL,后来向ORACLE迁移。由于PHP当时在数据库方面的问题,淘宝当时从MYSQL切入到了ORACLE。在这个过程中,由于架构是处于雏形阶段所以,技术能力以及架构能力都是偏弱的。
据冯春培介绍,互联网企业的DBA承受的压力非常大,早在在2004年时,数据库经常出问题的。后来, 随着业务的发超速发展, ORACLE的优化还是承载不了业务的发展,于是开始拆分,当时在淘宝和阿里巴巴有不同的思路,这个时候会有不同业务为主体的拆分。这些事情完成由于涉及到安全、交易、涉及到数据的稳定性问题, DB已经不能做了,这个时候就需要架构开始受到重视。
从2007年到 2009年的这个阶段,架构的作用非常大。这个阶段,阿里系涌现出一系列架构师。
当这个事情做完之后怎么样考虑企业成本的问题?
这个大背景下2002年随着互联网社区飞速发展,ORACLE的发展处于黄金时段,DBA的成长也非常快。
阿里在2006年开始考虑ORACLE和企业之间的联系。当时我们了解到国内某银行使用服务商的全套产品(硬件+软件)以后,无法替换,因此我们在预测一旦由一家服务商绑定,我们的风险有多大,于是我们准备了向MYSQL的转移。但是准备时,我们团队主要是是ORACLE,而MYSQL谁去学呢?
当然,从培养新人开始做起,在这条路上走得很扎实, 到了2008年底的时候,在整个集团要不要引入MYSQL?要不要有计划性的向MYSQL迁移?有许多的反对声音。第二、开发的人员也不一定认同,在ORALCE上很顺手,觉得用MYSQL阻力很高的。
在阿里用MYSQL背后主要考虑的是成本。
我们往迁移MYSQL,我们预备花三年时候从一种数据库迁移到另外一种数据库。当时做这件事情的时候,阿里系和ORALCE签了一个 ULA,ORACLE的授权随便可能用。用三年的时间我们稳固的推进了MYSQL。冯春培指出,传统的关系型数据库在扩张方面没一家解决得好的。
大数据对于DBA是一个机会
冯春培指出,现在谈大数据时代,很多管理者或者业务负责人怎么认识到数据的重要性,还在一个转型的过度中。大数据未来对于DBA一个机会。我们必须理顺团队的发展,而选择在高速成长的企业是我们不二之选。
原文地址:阿里巴巴数据库历程:放弃 Oracle 选 MySQL 的来龙去脉, 感谢原作者分享。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Oracleはデータベース会社だけでなく、クラウドコンピューティングとERPシステムのリーダーでもあります。 1。Oracleは、データベースからクラウドサービスおよびERPシステムへの包括的なソリューションを提供します。 2。Oraclecloudは、AWSとAzureに挑戦し、IAAS、PAAS、SAASサービスを提供します。 3. e-businesssuiteやfusionApplicationsなどのOracleのERPシステムは、企業がオペレーションを最適化するのに役立ちます。

MySQLでは、外部キーの機能は、テーブル間の関係を確立し、データの一貫性と整合性を確保することです。外部キーは、参照整合性チェックとカスケード操作を通じてデータの有効性を維持します。パフォーマンスの最適化に注意し、それらを使用するときに一般的なエラーを避けてください。

MySQLとMariaDBの主な違いは、パフォーマンス、機能、ライセンスです。1。MySQLはOracleによって開発され、Mariadbはフォークです。 2. Mariadbは、高負荷環境でパフォーマンスを向上させる可能性があります。 3.MariaDBは、より多くのストレージエンジンと機能を提供します。 4.MySQLは二重ライセンスを採用し、MariaDBは完全にオープンソースです。既存のインフラストラクチャ、パフォーマンス要件、機能要件、およびライセンスコストを選択する際に考慮する必要があります。

MySQLとPHPMyAdminは、次の手順を通じて効果的に管理できます。1。データベースの作成と削除:PHPMyAdminをクリックして完了します。 2。テーブルの管理:テーブルを作成し、構造を変更し、インデックスを追加できます。 3。データ操作:データの挿入、更新、削除、SQLクエリの実行をサポートします。 4。データのインポートとエクスポート:SQL、CSV、XML、およびその他の形式をサポートします。 5。最適化と監視:最適化可能なコマンドを使用してテーブルを最適化し、クエリアナライザーと監視ツールを使用してパフォーマンスの問題を解決します。

SQLはリレーショナルデータベースを管理するための標準言語であり、MySQLはSQLを使用するデータベース管理システムです。 SQLは、CRUD操作を含むデータベースと対話する方法を定義しますが、MySQLはSQL標準を実装し、ストアドプロシージャやトリガーなどの追加機能を提供します。

Redisは、主にデータベース、キャッシュ、メッセージブローカーとして使用されるメモリデータ構造ストレージシステムです。そのコア機能には、シングルスレッドモデル、I/O多重化、持続メカニズム、複製、クラスタリング機能が含まれます。 Redisは、キャッシュ、セッションストレージ、メッセージキューのための実際のアプリケーションで一般的に使用されます。適切なデータ構造を選択し、パイプラインとトランザクションを使用し、監視とチューニングを使用することにより、パフォーマンスを大幅に改善できます。

MySQLでは、AlterTabletable_nameaddcolumnnew_columnvarchar(255)afterexisting_columnを使用してフィールドを追加し、andtabletable_namedopcolumncolumn_to_dropを使用してフィールドを削除します。フィールドを追加するときは、クエリのパフォーマンスとデータ構造を最適化する場所を指定する必要があります。フィールドを削除する前に、操作が不可逆的であることを確認する必要があります。オンラインDDL、バックアップデータ、テスト環境、および低負荷期間を使用したテーブル構造の変更は、パフォーマンスの最適化とベストプラクティスです。

MASQLのインストールは、次の手順で実現できます。1。コマンド/bin/bash-c"$(curl-fsslhttps://raw.githubusercontent.com/homebrew/install/head/install.sh)を使用して、Homebrewをインストールします。 2. Homebrewを更新し、Brewupdateを使用します。 3. mysqlをインストールし、Brewinstallmysqlを使用します。 4. mysqlサービスを開始し、Brewservicesstartmysqlを使用します。インストール後、MySQL-Uを使用できます
