数据库mysql数据库

mysql数据库  时间:2021-01-29  阅读:()

技术白皮书InterBase与MySQL:技术对比英巴卡迪诺科技公司-1-InterBase与MySQL技术对比英巴卡迪诺科技公司数据库产品部BillTodd撰写2010年8月美国总部地址100CaliforniaStreet,12thFloorSanFrancisco,California94111EMEA区总部地址YorkHouse18YorkRoadMaidenhead,BerkshireSL61SF,UnitedKingdom亚太区总部地址L7.
313LaTrobeStreetMelbourneVIC3000Australia技术白皮书InterBase与MySQL:技术对比英巴卡迪诺科技公司-2-目录执行摘要.
3引言3为您的项目选择适当的数据库4MySQL:选择太多4在线备份.
6恢复速度.
6物有所值的数据类型.
6数据域6角色.
7字符串7默认值7检查约束.
9监控.
9配置.
9复制.
10特性对比.
10结论11关于作者.
12技术白皮书InterBase与MySQL:技术对比英巴卡迪诺科技公司-3-执行摘要Embarcadero_InterBase是一款性能强大且兼容SQL的数据库,通常嵌入应用程序使用并用于特定应用.
优秀的开发人员和应用架构师在仔细检测InterBase后发现,该数据库明显优于MySQL.
其优势包括:在线备份更快的故障恢复用于精确财务计算的数据类型通过数据域简化设计和维护通过角色更加便捷地进行访问控制支持虚拟表格和行级访问控制的视图符合ANSI标准且更加简单的字符串数据类型更加强大灵活的默认值利用检查约束简化数据验证卓越的性能监控工具经过优化的配置选项多向复制本白皮书详细论述了以上优势.
引言当前的许多数据库应用程序都需要使用一款能够嵌入应用程序或能够轻松在远程站点进行部署和支持的数据库.
InterBase具备所有这些性质,以及高性能、可靠性和精密的特性集,是一款能够满足开发人员需求的成熟数据库,多年来已成功部署于全球数百万站点.

InterBase易于部署、学习和使用,用户几乎无需在生产环境中对其进行任何维护和监控.
InterBase的安装大小仅为MySQL的五分之一,但却提供SMP支持、跨平台支持、基于成本的精密型查询优化器、行级锁、瞬时服务器故障恢复、基于隔离级别的事务支持(确保在某一时间点上生成一致的数据快照)、存储过程、触发器、视图、检查约束、丰富的SQL方言、在线备份、在线元数据修改、复制,并且能够通过数据库中的触发器触发客户端应用程序中的事务.

InterBase能够通过以下特性降低开发及维护成本:数据域检查约束角色更加简单的配置卓越的性能监控工具多向复制如果没有这些特性,您便会花费更多时间编写客户端代码,以执行应该集成在数据库技术白皮书InterBase与MySQL:技术对比英巴卡迪诺科技公司-4-中的功能,并在多项维护任务上浪费更多时间,例如:控制访问、重新编译及部署客户端应用程序、配置数据库以满足特定站点的负载需求.
为您的项目选择适当的数据库列出数据库项目所需的特性并非难事.
但是,仅根据一份简单的特性列表对数据库进行评估是远远不够的.
在为您的应用程序选择适当的数据库时,最重要的步骤是比较各款数据库在实际应用程序环境中的性能.
该白皮书对比了InterBase和MySQL在当前业务环境可能出现的多种情景中的性能.
MYSQL:选择太多情景:您正在开发一款能够显著降低公司成本的应用程序.
该应用程序必须支持快速部署,这主要是为了最大限度地缩短学习和开发时间.
MySQL包含四个数据库引擎而非一个,因此,您需要做出的第一项决定便是使用哪个可用的数据库引擎1.
每个引擎均采用不同的表结构(不同的磁盘文件格式)并具有不同的特性.
不同之处不仅仅是数据访问和同步控制特性;管理需求也不尽相同.
例如,随着硬件和操作系统的更新,可能必须将数据库迁移至服务器中的另一目录.
BerkeleyDB数据库引擎将全路径嵌入表头中的表格,因此你无法将表文件移至新的目录.
你必须导出数据,并在新的位置创建一个新的数据库,然后重新导入数据.
但是,InnoDB和MyISAM数据库却可移至新的目录.
由于各个数据库引擎的功能差异巨大,因此,你必须在决定前对应用程序的需求和各个引擎的功能进行仔细比较.
这项评估会增加你的项目时间和成本.
以下内容简要介绍了不同的数据库引擎.
ISAM引擎是MySQL的原始数据库引擎.
该引擎已被弃用并被MyISAM引擎取代,因此,可以忽略ISAM.
1MySQL5.
5参考手册第13章.
技术白皮书InterBase与MySQL:技术对比英巴卡迪诺科技公司-5-MyISAM引擎经过专门设计能够实现高效的SELECT查询,并且是唯一支持全文本检索的表格式.
MyISAM还可以最灵活的方式添加自动递增字段.
然而,MyISAM并不支持事务控制、声明性引用完整性、存储过程或触发器.
MyISAM引擎连续处理查询,并为INSERT、UPDATE和DELETE语句赋予比SELECT语句更高的优先级.
专用的表锁提供同步访问.

在执行INSERT、UPDATE或DELETE语句时,其它用户不可读写任何正发生变更的表行.
目前的数据库应用程序通常支持混合读写.
如果你的应用程序需要分析数据或生成大型报表,SELECT语句的运行时间可能会相对较长.
假设你拥有一个订单录入系统.
打印发票时,你必须查询"客户"表,以获取姓名、地址和其它客户信息.
你还需要将"客户"表导入"订单"表、"项目"表和"零件"表,以获取有关订单、订单项目、零件价格及描述的信息.
由于MyISAM禁止对正在读取的表进行更新,因此,用户无法在发票查询完成前更新"客户"、"订单"、"项目"或"零件"表.
如果你的应用程序需要执行许多INSERT、UPDATE和DELETE语句,用户可能会在执行SELECT语句时遇到麻烦.
由于MyISAM是顺序处理语句,并且优先处理修改数据的SQL语句,之后再处理SELECT语句,因此,执行SELECT语句的用户在遇到大量的更新操作时可能会遭遇低效率.
BerkeleyDB(BDB)数据库引擎提供了事务支持,但仅支持read-committed事务隔离级别.
这意味着获得一致数据视图的唯一方式是对表进行锁定,避免出现更新.
由于BDB采用页级锁,因此其同步性高于MyISAM表,但在更新单行时,它仍会锁定整个数据页.

BDB不支持声明性引用完整性或全文本索引.
此外,指向每个BDB表文件的全路径被保存在该文件中.
因此不能将这些文件移至新目录.
如果需要移动BDB数据库,你必须导出所有数据,在新的位置创建一个新的数据库,然后重新导入数据.
性能最强的MySQL数据库引擎是由位于赫尔辛基的InnoBaseOy公司开发并随后被Oracle公司收购的InnoDB引擎.
InnoDB支持事务控制、声明性引用完整性、多事务隔离级别和行级锁.
在MySQL5.
5中,InnoDB将是默认的MySQL引擎.
由于InnoDB引擎的功能最丰富,因此,除非另行说明,否则此白皮书均假设MySQL采用InnoDB数据库引擎.

InterBase提供了一个单一、集成的SQL数据库服务器,其中具有一套一致的特性.
因此,将InterBase与你的需求进行比较非常容易.
技术白皮书InterBase与MySQL:技术对比英巴卡迪诺科技公司-6-在线备份情景:你正在创建一个零售点应用程序.
每家店铺每天必须至少备份一次数据库.
店铺经理在家中保存一份备份文件,作为灾难恢复计划的一部分.
多家零售店全天24小时营业.

唯一支持在线备份的MySQL数据库引擎是InnoDB2.
为了在数据库运行时备份InnoDB数据库,你可以每年300美元从Zmanda购买EnterpriseZRMforMySQL的许可.
InterBase引擎内置"在线备份"功能.
你可以随时备份数据库,而且备份功能会在启动时立即提供一个逻辑上一致的数据副本.
你可以通过调出InterBaseAPI函数将备份功能添加进你的应用程序,使用IBConsole(InterBaseGUI开发工具)进行手动备份,或使用命令行备份工具将备份功能添加进批处理文件或脚本.
可利用操作系统的计划任务功能在指定时间运行批处理文件或脚本.
恢复速度情景:由于电源故障,你放置在达拉斯地区办事处的数据库服务器崩溃.
服务器重启时,数据库必须自动并快速恢复至正常状态.
MySQL的重启恢复时间取决于事务日志的大小,而且必须对该日志进行处理以回滚处于活动状态的事务.
这可能会花费几分钟或更长时间,具体时间取决于数据库管理员如何配置服务器.
InterBase的重启恢复是瞬时的,因为无需对该数据库进行修改即可回滚激活的事务.
此外,InterBase仅改变每个回滚激活事务的状态位,并在数据库中保留回滚事务创建的版本记录.
版本控制引擎可自动忽略这些版本记录,垃圾收集器可在正常使用数据库并访问这些记录时自动移除这些记录.
物有所值的数据类型情景:你的应用程序需要跟踪一个大型的投资组合,而且必须执行财务计算并汇总以"元"为单位的字段.
MySQL没有提供一种支持精确财务计算的数据类型.
虽然MySQL具有能够将数值保存为字符串的DECIMAL数据类型,但是所有计算均是通过将保存的数值转换为双精度浮点数来执行的.
由于浮点数无法精确表示大多数十进制分数,因此,你在执行大量数值求和等计算时可能发生错误.
唯一的替代方法是将所有金额以"分"的形式保存在整数字段中,并在显示金额时在客户端应用程序中将其转换回"元"的形式.
InterBase同时支持NUMERIC和DECIMAL数据类型,能够对实数进行精确计算.
2MySql5.
5参考手册第6章.
3MySql5.
5参考手册第10章.
数据域情景:贵公司决定改用一套新型行业标准零件编号系统,贵公司的大多数客户都在采用该系统.

新的零件编号比当前使用的编号更大.
整个数据库的多份表格中均包含零件编号字段.

使用MySQL时,你必须修改每份表格中的零件编号字段.
技术白皮书InterBase与MySQL:技术对比英巴卡迪诺科技公司-7-InterBase则支持数据域.
一个数据域是一个自定义数据类型,你可以根据InterBase支持的其中一种本地数据类型对其进行定义.
对于原零件编号字段,你可能使用以下语句:CREATEDOMAINPART_NO_TYPEVARCHAR(10)NOTNULL;在数据库中添加数据域后,你便可以在每份表格中将其用作零件编号数据类型.
假设新的零件编号长达14个字符.
你需要做的就是执行以下语句:ALTERDOMAINPART_NO_TYPETYPEVARCHAR(14)任务即告完成.
角色情景:你正在进行一个多模块应用程序的第一阶段部署工作,该程序将支持200名并发用户.
你可以根据用户的数据访问权限将其分为三个组.
在部署项目的下一阶段时,这些权限会随着数据库表格的增加而变化.
MySQL支持用户级访问控制.
如果你需要改变访问权限,你必须针对每名用户进行变更.

InterBase支持角色.
借助InterBase,你可以创建三个角色并为每个角色授予必要的权限.
之后,为每名用户授予适当的角色.
若要改变一个组中所有用户的权限,仅需改变相应角色的权限即可.

字符串情景:你需要在表中添加一个字符串字段以保存一些描述性文本.
用户预计文本长度不会超过一或两行,因此你将该字段定义为VARCHAR(150).
后来,变更的需求规定该字段必须扩展为500个字符.
MySQL拥有六种字符串字段类型:CHAR、VARCHAR、TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT.
CHAR和VARCHAR类型的最大长度为255字节.
其余四种文本类型的最大长度从255字节至4吉字节不等.
可以对CHAR和VARCHAR字段进行检索,但不能对其余四种文本字段类型进行检索.
使用MySQL时的最佳解决方案是能够保存多达64千字节的TEXT类型.
更令人费解的是,MySQL有时会改变数据类型4.
例如,同一表格中的VARCHAR字段和CHAR字段的长度均不能超过三.
如果你尝试,MySQL会将CHAR转换为VARCHAR.
当同一表格中包含长度超过三的CHAR字段和一个文本字段时,也会出现同样的情况.
例外情况是:长度小于四的CHAR列不会变为VARCHAR.
事实上,长度小于四的VARCHAR列会变为CHAR.
使用InterBase时,你的选择更加灵活.
InterBase仅提供三种类型:CHAR、VARCHAR和textblob,而且你定义的类型不会改变.
CHAR和VARCHAR能够容纳最长32千字节的数据,CHAR数据类型可准确保留行尾空格.
默认值情景:你需要在创建表格中的每项记录时记录日期和时间.
虽然MySQL允许你为一列定义一个默认值,但该默认值仅限于字面值.
由于无法调出函数,因此无法使DATETIME列中的默认值成为当前的日期和时间.
5MySQL不支持触发器,因此你必须在客户端应用程序中分配当前的日期和时间.
MySQL还有一个名为TIMESTAMP的字段类型,用以保存日期和时间.
如果不为表格中的第一个TIMESTAMP列定义默认值,默认值将为当前的日期和时间.
但是,TIMESTAMP技术白皮书InterBase与MySQL:技术对比英巴卡迪诺科技公司-8-类型的范围有限,止于2038年.
6MySQL5.
5不再支持低于MySQL4.
1的TIMESTAMP格式.
这可能意味着为较低版MySQL编写的应用程序可能需要经过修改才能正确兼容MySQL5.
5,从而增加不必要的应用程序开发成本.
除了字面值,InterBase允许你将当前的日期和时间定义为任意TIMESTAMP列的默认值.

你还能够将当前的用户名定义为VARCHAR或CHAR列的默认值.
4MySQL5.
5参考手册第10.
1.
3节5MySQL5.
5参考手册第10.
1.
4节6MySQL5.
5参考手册第10.
1.
2节技术白皮书InterBase与MySQL:技术对比英巴卡迪诺科技公司-9-检查约束情景:你想在数据库中集中管理业务规则,以确保所有应用程序能够一致地执行这些规则并简化维护流程.
除了不支持触发器以外,MySQL也不支持检查约束.
7你能够在MySQL中定义的唯一列约束为NOTNULL,因此你必须在客户端应用程序中进行所有数据验证.
为了简化数据验证,InterBase同时支持触发器和检查约束.
通过将检查约束融入列定义,你可以确定列值是否介于两个值之间,是否近似于一个数值,是否属于一列数值,是否包含一个数值,或是否起始于一个数值.
你还能够使用AND和OR将多种情况组合起来.

InterBase使执行数据库中的业务规则变得极其轻松.
监控情景:用户不定期地抱怨系统性能低下.
你怀疑一名用户的行为引起非常耗时的CPU密集型计算.
你必须确定引起该问题的用户和SQL语句.
MySQL仅提供了非常有限的监控工具.
无法查看与连接有关的事务或事务相应的语句.

你无法查看起始时间、插入、更新、删除操作的总数、来自缓存或磁盘的读取操作数量,或其它重要的连接级、事务级或语句级统计信息.
InterBase提供了一套完备的性能监控表.
你能够使用IBConsole中的交互式性能监控器查看这些信息,或制定你自己的查询,以便仅获取所需信息.
性能监控表可提供与连接、事务、各条语句、打开的表格和存储过程有关的详细信息.
可用的信息包括起始时间和CPU时间,选择、插入、更新和删除的所有行,以及从磁盘读取、写入磁盘、从缓存提取的页数.
通过这些表格,你能够轻松确定使用最多CPU周期的语句,以及正在执行该语句的连接的IP地址.
你还可以查看正在执行的SQL语句.
你可以立即获得所需的所有容量规划和系统分析信息.
配置情景:你的应用程序将部署在用户数和数据量大幅变动的站点.
你需要一种不必根据变化的负载对其进行调整,并且不需要专业数据库管理员(DBA)对其进行初始配置设置的数据库.
7MySQL5.
5参考手册附录C和第C.
6.
3.
4节MySQL包含300多个系统变量以及大量的配置参数,用以控制运行的各个环节.
例如,MySQL具有查询缓存、键缓冲器(索引缓存)、表缓存、InnoDB缓冲器和InnoDBLog缓冲器.
你必须决定如何为这些缓存分配内存,以获得最佳性能.
虽然这似乎提供了更高的灵活性,但可怕的是,在为数百名最终客户部署应用程序时,需要为任意数量的配置设置系统变量,因而可能对应用程序的性能造成负面影响.
InterBase可进行全面的自我调节.
InterBase采用单一、统一的缓存,并且能够根据正在执行的混合语句,为数据页、索引页、查询缓存、排序和其它用途动态分配缓存空间.
虽然InterBase配置文件包含31项设置,但在任何或最不常见的情况下,你可能仅需改变其中三项.
其中一项是"缓存大小",另两项是"CPU亲和性"以及是否启用超线程支持.
"CPU亲和性"支持你规定InterBase使用多处理器电脑上的哪些处理器,而"超线程"可启用InterBase的超线程处理器支持.

技术白皮书InterBase与MySQL:技术对比英巴卡迪诺科技公司-10-复制情景:贵公司的总部设在达拉斯.
贵公司还在休斯顿、奥斯丁和埃尔帕索设有销售办事处.
内部销售代表在总部办事处录入订单,驻地销售代表在各个驻地办事处录入订单.
在驻地办事处录入的所有订单都必须复制到总部数据库中,而在总部录入的所有订单都必须复制到驻地办事处的数据库中.
MySQL支持异步单向复制.
你必须将一个数据库指定为主数据库,而将所有其它数据库指定为从数据库.
数据仅可从主数据库复制到从数据库中.
借助InterBase的多向复制特性,你能够将订单从总部复制到特定的驻地办事处,或从驻地办事处复制到总部.
特性对比下表对比了InterBase和MySQL的各项特性.
该列表并不详尽,而是重点专注对于部署到远程站点的嵌入应用以及同时包含了更新和长时间读取操作的混合型应用来说非常重要的特性.

日本美国站群服务器raksmart站群新增,限量低至月1.99美元

RAKsmart 商家八月份的促销活动今天更新。基本上和上个月的产品套餐活动差不多的,不过也是有简单的微调。对于RAKsmart商家还是比较了解的,他们家产品虽然这两年增加多个机房,以及在VPS主机方案上有丰富的机房和调整到一些自营机房,他们家的策划能力还是有限,基本上每个月的套餐活动都差不多。RAKsmart 在八月份看到有新增香港高防服务器可选,最高100GB防御。同时原来上个月缺货的日本独立...

LightNode($7.71/月)香港cn2精品线路

LightNode官网LightNode是一家位于香港的VPS服务商.提供基于KVM虚拟化技术的VPS.在提供全球常见节点的同时,还具备东南亚地区、中国香港等边缘节点.满足开发者建站,游戏应用,外贸电商等应用场景的需求。为用户带来高性能服务器以及优质的服务的同时还提供丰厚的促销活动,新用户注册最高送$20。注册用户带新客即可得10%返佣。商家支持PayPal,支付宝等支付方式。官网:https:/...

青云互联:美国洛杉矶CN2弹性云限时八折,15元/月起,可选Windows/可自定义配置

青云互联怎么样?青云互联是一家成立于2020年6月的主机服务商,致力于为用户提供高性价比稳定快速的主机托管服务,目前提供有美国免费主机、香港主机、香港服务器、美国云服务器,让您的网站高速、稳定运行。美国cn2弹性云主机限时8折起,可选1-20个IP,仅15元/月起,附8折优惠码使用!点击进入:青云互联官方网站地址青云互联优惠码:八折优惠码:ltY8sHMh (续费同价)青云互联活动方案:美国洛杉矶...

mysql数据库为你推荐
美团月付怎么关闭美团网付款后怎么取消订单申请退款腾讯空间首页怎么才能让自己QQ空间被腾讯推荐在QQ空间首页里面?电脑杀毒软件哪个好现在电脑用哪个杀毒软件最好手机杀毒软件哪个好安卓手机杀毒软件哪个最好炒股软件哪个好股票软件哪个最好用?炒股软件哪个好用股票交易软件哪个好?yy空间登录怎么搞YY空间360云盘论坛360云盘怎样不能存视屏了广东联通营业厅广州海珠区有那几个联通营业厅?广东联通官方旗舰店广东联通旗舰店是真的吗
域名批量查询 韩国俄罗斯 BWH lighttpd 免费个人网站申请 40g硬盘 域名转接 老左来了 股票老左 中国电信测速器 百度云加速 谷歌台湾 金主 买空间网 博客域名 谷歌搜索打不开 weblogic部署 次世代主机 电脑主机配置 香港云主机 更多