ホームページ データベース mysql チュートリアル 可插式存储引擎MySQL走向企业级保障_MySQL

可插式存储引擎MySQL走向企业级保障_MySQL

Jun 01, 2016 pm 02:03 PM
mysql 使用 保証します ストレージ 応用 エンジン データ データベース

MySQL被称为业内最广泛使用的开源数据库之一,而可插式的存储引擎是其最重要的特性之一,了解并应用存储引擎将能够更方便地使用MySQL数据库的企业级特性。

 

 

 

 

图 MySQL数据库体系结构

 

MySQL数据库是开源数据库产品中最重要的数据库之一,分为MySQL社区服务器版和MySQL企业级服务器版。它的企业级服务器版主要被广大的中小企业应用,但在很多大企业的部门级数据库应用或关键业务中也开始被采用。MySQL被称为是最广泛使用的数据库产品,主要是由于它具有非常多的优秀动能,其中最有特色的就是它的可插式存储引擎。

 

当用户将数据库应用到各个不同的领域时,每一种应用都对数据库提出了满足自己需求的性能特点,而MySQL的插件式存储引擎正是针对此而推出的。使用MySQL插件式存储引擎体系结构,允许数据库专业人员为特定的应用需求选择专门的存储引擎,完全不需要管理任何特殊的应用编码要求。MySQL服务器体系结构由于在存储级别上提供了一致和简单的应用模型和API,应用程序编程人员和DBA可以不再考虑所有的底层实施细节。因此,不同的存储引擎具有不同的能力,而应用程序是与之分离的。

 

什么是MySQL的存储引擎

 

那么什么是可插式存储引擎呢?MySQL中使用各种不同的技术,将数据放在不同的文件系统中进行存储,例如针对内存数据库则将数据直接存储在内存中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的功能和能力,通过选择不同的技术,用户能够获得额外的速度或者功能,从而改善应用的整体功能。例如,如果要研究大量的临时数据,也许就需要使用内存存储引擎,内存存储引擎能够在内存中存储所有的表格数据,帮助用户完成应用。又或者,用户也许需要一个支持事务处理的数据库,以确保事务处理不成功时数据的回退能力,这就需要使用支持事务处理的存储引擎。这些不同的技术以及配套的相关功能在MySQL中被称做存储引擎(也称做表类型)。MySQL默认配置了许多不同的存储引擎,可以预先设置或者在MySQL服务器中启用。可以选择适用于服务器、数据库和表格的存储引擎,以便在选择如何存储信息、如何检索这些信息以及需要数据结合什么性能和功能的时候提供最大的灵活性。

 

可以选择如何存储和检索数据的这种灵活性是MySQL为什么如此受欢迎的主要原因。而其他数据库系统(包括大多数商业数据库)仅支持其中一种类型的数据存储。MySQL数据库的体系结构如上图所示。

 

存储引擎的配置使用

 

这里,笔者重点介绍一些经常被大家使用的MySQL存储引擎,并且也介绍一下这些可插式存储引擎如何使用的问题。首先,最常用的是MyISAM存储引擎,它是默认的MySQL插件式存储引擎,它是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一。它支持表级的锁定、全文索引等功能。然后是InnoDB存储引擎,用于事务处理应用程序,具有众多特性,通过MVCC支持事务,允许COMMIT、ROLLBACK和保存点,同时也支持ACID事务。InnoDB存储引擎是由Innobase公司开发的,但在2005年10月份,甲骨文收购了这家公司,所以,虽然当前此引擎依然还在被使用,不过,MySQL已经开发出了新的引擎以便替换InnoDB引擎,代号为Falcon。新的引擎将在不久的将来发布。

 

接下来是Cluster/NDB引擎,它是MySQL的簇式数据库引擎,尤其适合于具有高性能查找要求的应用程序,这类查找需求还要求具有最高的正常工作时间和可用性。而Archive引擎,为大量很少引用的历史、归档或安全审计信息的存储和检索提供了完美的解决方案。Federated引擎则能够将多个分离的MySQL服务器链接起来,从多个物理服务器创建一个逻辑数据库,十分适合于分布式环境或数据集市环境。Merge引擎允许MySQL DBA或开发人员将一系列等同的MyISAM表以逻辑方式组合在一起,并作为一个对象引用它们,对于诸如数据仓储等VLDB环境十分适合。Memory引擎将所有数据保存在RAM中,在需要快速查找引用和其他类似数据的环境下,可提供极快的访问速度。

 

其他存储引擎包括CSV(引用由逗号隔开的用做数据库表的文件)、Blackhole(用于临时禁止对数据库的应用程序输入)以及Example引擎(可为快速创建定制的插件式存储引擎提供帮助)。

 

想要改变存储引擎结构,对于数据库系统而言,只要更改数据库系统的STORAGE_ENGINE配置变量,就能够方便地更改MySQL服务器的默认存储引擎。要想方便地安装插件式存储引擎,这些存储引擎的plugin文件必须位于恰当的MySQL库目录下,而且发出INSTALL PLUGIN语句的用户必须具有超级管理权限。由于可插引擎的便利性,对于所有的应用方案,并不一定要使用相同的存储引擎,可以为同一个应用方案中的每个表使用不同的存储引擎,只需要在创建新表时指定存储引擎,可使用ENGINE参数,或通过使用ALTER TABLE语句指定存储引擎。如果想拔出存储引擎,只需要使用UNINSTALL PLUGIN语句就可以了。(作者单位系总装航天指控中心)

 

名词解析:开源数据库

 

开源数据库市场经过多年发展,在企业应用中也已经成熟起来。其中,最为大家了解的是MySQL、PostgreSQL、Firebird、Derby、Orade等。MySQL号称“世界上最流行的开源数据库”,在很多企业中得到了非常多的应用,而且在很多关键业务中也得到应用,有大量成功案例,具有非常好的可靠性和技术优势。它从5.0版本开始加入了大量企业级应用的元素,如存储过程、触发器、视图、指针等。MySQL的企业级应用在中国也广泛开展,中国的万里开源同MySQL建立了合作伙伴关系从事MySQL培训,中国开发人员对MySQL进行开发与应用,并推出了最流行的LAMP应用。

 

PostgreSQL号称“世界上最先进的开源数据库”,是比较复杂的对象—关系型数据库管理系统(ORDBMS),特性丰富、复杂,其中的一些特性甚至连商业数据库都不具备,其目标是要做超大型的面向对象关系型数据库系统。它支持SQL89和SQL92标准。EnterpriseDB是从PostgreSql基础上延伸的数据库,号称“真正的企业级开源数据库,并足以与Oracle相竞争”。firebird是一个全功能的、强大高效的、轻量级、免维护的数据库,完全支持ANSI SQL92、SQL98等标准,它很容易从单用户、单数据库升级到企业级应用。firebird数据库服务器能够管理多个独立的数据库,每一个数据库同时可支持多个客户端连接。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

MySQL:世界で最も人気のあるデータベースの紹介 MySQL:世界で最も人気のあるデータベースの紹介 Apr 12, 2025 am 12:18 AM

MySQLはオープンソースのリレーショナルデータベース管理システムであり、主にデータを迅速かつ確実に保存および取得するために使用されます。その実用的な原則には、クライアントリクエスト、クエリ解像度、クエリの実行、返品結果が含まれます。使用法の例には、テーブルの作成、データの挿入とクエリ、および参加操作などの高度な機能が含まれます。一般的なエラーには、SQL構文、データ型、およびアクセス許可、および最適化の提案には、インデックスの使用、最適化されたクエリ、およびテーブルの分割が含まれます。

MySQLの場所:データベースとプログラミング MySQLの場所:データベースとプログラミング Apr 13, 2025 am 12:18 AM

データベースとプログラミングにおけるMySQLの位置は非常に重要です。これは、さまざまなアプリケーションシナリオで広く使用されているオープンソースのリレーショナルデータベース管理システムです。 1)MySQLは、効率的なデータストレージ、組織、および検索機能を提供し、Web、モバイル、およびエンタープライズレベルのシステムをサポートします。 2)クライアントサーバーアーキテクチャを使用し、複数のストレージエンジンとインデックスの最適化をサポートします。 3)基本的な使用には、テーブルの作成とデータの挿入が含まれ、高度な使用法にはマルチテーブル結合と複雑なクエリが含まれます。 4)SQL構文エラーやパフォーマンスの問題などのよくある質問は、説明コマンドとスロークエリログを介してデバッグできます。 5)パフォーマンス最適化方法には、インデックスの合理的な使用、最適化されたクエリ、およびキャッシュの使用が含まれます。ベストプラクティスには、トランザクションと準備された星の使用が含まれます

Apacheのデータベースに接続する方法 Apacheのデータベースに接続する方法 Apr 13, 2025 pm 01:03 PM

Apacheはデータベースに接続するには、次の手順が必要です。データベースドライバーをインストールします。 web.xmlファイルを構成して、接続プールを作成します。 JDBCデータソースを作成し、接続設定を指定します。 JDBC APIを使用して、接続の取得、ステートメントの作成、バインディングパラメーター、クエリまたは更新の実行、結果の処理など、Javaコードのデータベースにアクセスします。

なぜMySQLを使用するのですか?利点と利点 なぜMySQLを使用するのですか?利点と利点 Apr 12, 2025 am 12:17 AM

MySQLは、そのパフォーマンス、信頼性、使いやすさ、コミュニティサポートに選択されています。 1.MYSQLは、複数のデータ型と高度なクエリ操作をサポートし、効率的なデータストレージおよび検索機能を提供します。 2.クライアントサーバーアーキテクチャと複数のストレージエンジンを採用して、トランザクションとクエリの最適化をサポートします。 3.使いやすく、さまざまなオペレーティングシステムとプログラミング言語をサポートしています。 4.強力なコミュニティサポートを提供し、豊富なリソースとソリューションを提供します。

DockerによるMySQLを開始する方法 DockerによるMySQLを開始する方法 Apr 15, 2025 pm 12:09 PM

DockerでMySQLを起動するプロセスは、次の手順で構成されています。MySQLイメージをプルしてコンテナを作成および起動し、ルートユーザーパスワードを設定し、ポート検証接続をマップしてデータベースを作成し、ユーザーはすべての権限をデータベースに付与します。

MySQLの役割:Webアプリケーションのデータベース MySQLの役割:Webアプリケーションのデータベース Apr 17, 2025 am 12:23 AM

WebアプリケーションにおけるMySQLの主な役割は、データを保存および管理することです。 1.MYSQLは、ユーザー情報、製品カタログ、トランザクションレコード、その他のデータを効率的に処理します。 2。SQLクエリを介して、開発者はデータベースから情報を抽出して動的なコンテンツを生成できます。 3.MYSQLは、クライアントサーバーモデルに基づいて機能し、許容可能なクエリ速度を確保します。

Laravelは紹介例 Laravelは紹介例 Apr 18, 2025 pm 12:45 PM

Laravelは、Webアプリケーションを簡単に構築するためのPHPフレームワークです。次のような強力な機能を提供します。インストール:Laravel CLIを作曲家にグローバルにインストールし、プロジェクトディレクトリにアプリケーションを作成します。ルーティング:ルート/web.phpのURLとハンドラーの関係を定義します。ビュー:リソース/ビューでビューを作成して、アプリケーションのインターフェイスをレンダリングします。データベース統合:MySQLなどのデータベースとのすぐ外側の統合を提供し、移行を使用してテーブルを作成および変更します。モデルとコントローラー:モデルはデータベースエンティティを表し、コントローラーはHTTP要求を処理します。

MySQLをCentos7にインストールする方法 MySQLをCentos7にインストールする方法 Apr 14, 2025 pm 08:30 PM

MySQLをエレガントにインストールするための鍵は、公式のMySQLリポジトリを追加することです。特定の手順は次のとおりです。MYSQLの公式GPGキーをダウンロードして、フィッシング攻撃を防ぎます。 mysqlリポジトリファイルを追加:rpm -uvh https://dev.mysql.com/get/mysql80-community-rease-el7-3.noarch.rpm update yumリポジトリキャッシュ:yumアップデートインストールmysql:yumインストールmysql-server startup mysql sportin

See all articles