如何选择NoSQL数据库

操作方法

  • 01

    NoSQL,指的是非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。 NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,是一项全新的数据库革命性运动,早期就有人提出,发展至2009年趋势越发高涨。NoSQL的拥护者们提倡运用非关系型的数据存储,相对于铺天盖地的关系型数据库运用,这一概念无疑是一种全新的思维的注入。 从这一新兴技术中选择一款正确的NoSQL数据库是非常具有挑战性的。比一下网建议在选择时考虑以下因素: 并发控制 并发控制指的是当多个用户同时更新运行时,用于保护数据库完整性的各种技术。并发机制不正确可能导致脏读、幻读和不可重复读等此类问题。并发控制的目的是保证一个用户的工作不会对另一个用户的工作产生不合理的影响。在某些情况下,这些措施保证了当用户和其他用户一起操作时,所得的结果和她单独操作时的结果是一样的。在另一些情况下,这表示用户的工作按预定的方式受其他用户的影响。 封锁 就是事务T在对某个数据对象(例如表、记录等)操作之前,先向系统发出请求,对其加锁。加锁后事务T就对该数据对象有了一定的控制,在事务T释放它的锁之前,其它的事务不能更新此数据对象。 封锁是一次只允许一个用户读取或修改的一种机制,是实现并发控制的一个非常重要的技术。 MVCC Multi-Version Concurrency Control多版本并发控制,维持一个数据的多个版本使读写操作没有冲突。MVCC优化了数据库并发系统,使系统在有大量并发用户时得到最高的性能,并且可以不用关闭服务器就直接进行热备份。 ACID 指数据库事务正确执行的四个基本要素的缩写。包含:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。一个支持事务(Transaction)的数据库系统,必需要具有这四种特性,否则在事务过程(Transaction processing)当中无法保证数据的正确性,交易过程极可能达不到交易方的要求。 None 一些系统不提供原子性。 镜像 数据库镜像是DBMS根据DBA的要求,自动把整个数据库或其中的关键数据复制到另一个磁盘上,每当主数据库更新时,DBMS会自动把更新后的数据复制过去,即DBMS自动保证镜像数据与主数据的一致性。 镜像分为同步和异步。 数据存储 指的是数据的物理特性怎样被存储在数据库中。 磁盘 数据被存储在硬盘驱动器里; GFS或谷歌文件系统是一个由谷歌开发的专有的分布式文件系统; Hadoop是Apache软件框架,免费许可下支持数据密集型分布式应用程序; RAM随机存储器; 插件 可以添加外部插件; Amazon S3通过Web服务接口提供存储; BDB:BDB全称是 “Berkeley DB”,它是MySQL具有事务能力的表类型,由Sleepycat Software开发。BDB表类型提供了MySQL用户长久期盼的功能,即事务控制能力。在任何RDBMS中,事务控制能力都是一种极其重要和宝贵的功能。事务控制能力使得我们能够确保一组命令确实已经全部执行成功,或者确保当任何一个命令出现错误时所有命令的执行结果均被退回。 实现语言 实现语言会影响数据库的发展速度。典型的NoSQL数据库是用低级语言如C / C + +编写的。另一方面,那些更高层次的语言如Java,使自定义更容易。 实现语言有:C, C++, Erlang, Java, Python 特性 考虑下列哪一个特点对你的数据库是最重要的: 持久性 可用性 一致性 分区容忍性 证书类型 下面这些许可证是一个不同的开放源码许可的形式: GPL:通用公共许可证 BSD:伯克利软件分发 MPL:Mozilla公共许可证 EPL:Eclipse公共许可证 IDPL:最初的开发者的公共许可证 LGPL:较宽松通用公共许可证 存储类型 存储类型是NoSQL数据库最大的不同,是决定使用哪款数据库的一个首要指标。 关键字:支持get、put和删除操作 按列存储:相对于传统的按行存储,数据集成容易多了 面向文件系统:存储像是JSON或XML这样的结构化文件,很容易就能从面向对象软件中获取数据。 图像:代替表格的存储

(0)

相关推荐

  • SQLServer2008数据库备份还原和数据恢复图文教程

    在完整恢复模式或大容量日志恢复模式下,必须先备份活动事务日志(称为日志尾部),然后才能在SQLServerManagementStudio中还原数据库。有关详细信息,请参阅如何备份事务日志(SQLSe ...

  • 用shell命令解决XAMPP数据库导入文件限制

    经常折腾 WordPress 的朋友通常都会搭建一个本地环境,调试修改完了再发布到线上,至于如何在本地安装 WordPress,这个可以参考我之前写的一篇《轻松10步本地安装WordPress(图)》 ...

  • sql server 2008 数据库的迁移有哪些方法

    方法一: 将\Microsoft SQL Server\MSSQL\DATA文件夹中的syntt_data.mdf和syntt_log.ldf文件复制到安装有数据库服务器的机器的文件夹中(可以是本机的 ...

  • SQLServer2008数据库怎样备份还原和数据恢复

    在完整恢复模式或大容量日志恢复模式下,必须先备份活动事务日志(称为日志尾部),然后才能在SQLServerManagementStudio中还原数据库.有关详细信息,请参阅如何备份事务日志(SQLSe ...

  • Endnote文献管理怎么创建数据库?

    endnote 作为一款出色文献管理工具,很好的解决了在学习科研过程中,需要整理和编辑文献,这样大量重复而且繁琐的工作,其作为一款生产力软件得到了日益广泛的应用.本文介绍使用online数据库快速出创 ...

  • access怎么新建表?在access2010数据库中新建表的方法介绍

    在access2010中,创建表的方法主要有哪些?当我们在使用到access时,一般都要建表,那么,Access如何创建一个表呢?这里就此来简单讲讲在access2010数据库中新建表的几种方法,希望 ...

  • Data Loader如何使用 Data Loader数据库文件转换工具使用教程

    Data Loader是一款非常专业的数据库文件转换工具,由于它是全英文的界面,使用起来有一定的难度,下面这篇文章会有详细的步骤说明. 使用步骤 1.运行软件后,你会得到欢迎屏幕,然后窗体将打开,选择 ...

  • BarTender怎么给二维码导入logo图表? BarTender数据库字段动态插入图片的教程

    很多用户在BarTender设计二维码时,会在二维码嵌入Logo图片,以突显一些标志性信息.对于有些二维码制作用户来讲,可能每个二维码嵌入的图片都不一样,那怎么进行这类二维码的批量打印呢?本文,小编就 ...

  • BarTender7.7.5条码打印怎么添加数据库?

    因为我们的条码打印机,就是打标签上面有条形码的那种机器批量打印是需要安装条码打印软件的一般用得比较广泛的就是BarTender7.7.5了,它支持批量打印. 1.批量打印要先创建一个标签,然后打印设置 ...