찾다
데이터 베이스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으로 문의하세요.
MySQL에서 기존보기를 삭제하거나 수정하려면 어떻게해야합니까?MySQL에서 기존보기를 삭제하거나 수정하려면 어떻게해야합니까?May 16, 2025 am 12:11 AM

todropaViewInmysql, "dropviewifexistsview_name;"및 TomodifyAview를 사용하고 "createOrreplaceViewView_NameAsselect ...". "

MySQL보기 : 어떤 디자인 패턴을 사용할 수 있습니까?MySQL보기 : 어떤 디자인 패턴을 사용할 수 있습니까?May 16, 2025 am 12:10 AM

mysqlViewScaneFeficTicallyINGILIDESIGNPATTORNSLIKEADAPTER, DECIARATOR, FACTORY 및 OBSERVER.1) AdapterPatternAdAptSDataFromDifferentTablesinToAunifiedView.2) Decor

MySQL에서 뷰를 사용하면 어떤 장점이 있습니까?MySQL에서 뷰를 사용하면 어떤 장점이 있습니까?May 16, 2025 am 12:09 AM

viewsinmysqlarebeneficialforsimplifyingcomplexqueries, envancingsecurity, dataconsistency, andoptimizing promperformance

MySQL에서 간단한보기를 어떻게 만들 수 있습니까?MySQL에서 간단한보기를 어떻게 만들 수 있습니까?May 16, 2025 am 12:08 AM

toeteimpleviewinmysql, usethecreateviewstatement.1) definetheviewwithReateViewview_nameas.2) specifyTesLectStatementToreTrievesiredData.3) usetheViewLikeAtableForqueries.ViewsSimplifyDataAccessAndenHances, ButconSiderFormance

MySQL 사용자 명령문 생성 : 예제 및 공통 오류MySQL 사용자 명령문 생성 : 예제 및 공통 오류May 16, 2025 am 12:04 AM

toCreateUserSinmysql, usethecreateuserstatement.1) foralocaluser : createUser'LocalUser '@'localHost'IndifiedBy'SecurePassword '; 2) foremoteUser : createUser'RemoteUser'@'%'reidentifiedBy'StrongPassword ';

MySQL에서 뷰를 사용하는 한계는 무엇입니까?MySQL에서 뷰를 사용하는 한계는 무엇입니까?May 14, 2025 am 12:10 AM

mysqlviewshavelimitations : 1) 그들은 upportallsqloperations, datamanipulation throughviewswithjoinsorbqueries를 제한하지 않습니다

MySQL 데이터베이스 확보 : 사용자 추가 및 권한 부여MySQL 데이터베이스 확보 : 사용자 추가 및 권한 부여May 14, 2025 am 12:09 AM

적절한 usermanagementInmysqliscrucialforenhancingsecurityandensuringfefficientDatabaseOperation.1) USECREATEUSERTOWDDUSERS,@'localHost'or@'%'.

MySQL에서 사용할 수있는 트리거 수에 영향을 미치는 요인은 무엇입니까?MySQL에서 사용할 수있는 트리거 수에 영향을 미치는 요인은 무엇입니까?May 14, 2025 am 12:08 AM

mysqldoes notimposeahardlimitontriggers, butpracticalfactorsdeteirefectiveuse : 1) ServerConfigurationimpactStriggerManagement; 2) 복잡한 트리거 스케일 스케일 사이드로드; 3) argertableSlowtriggerTriggerPerformance; 4) High ConconcercencyCancaUspriggerContention; 5) m

See all articles

핫 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 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

Nordhold : Fusion System, 설명
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌
<exp exp> 모호한 : 원정 33- 완벽한 크로마 촉매를 얻는 방법
2 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경

SecList

SecList

SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.