大数据数据库有哪些

分享10个超好用的数据库:
1、CouchDB
CouchDB是一款完全拥抱互联网的数据库,它将数据存储在文档中,这种文档可以通过Web浏览器来查询,并且用JavaScript来处理。它易于使用,在分布式上网络上具有高可用性和高扩展性。支持的操作系统:Windows、Linux、OS X和安卓。
2、Blazegraph
Blazegraph是一种高度扩展、高性能的数据库。它既有使用开源许可证的版本,也有使用商业许可证的版本。
3、Cassandra
Cassandra数据库最初由Facebook开发,现已被1500多家企业组织使用,它能支持超大规模集群;比如 说,苹果部署的Cassandra系统就包括75000多个节点,拥有的数据量超过10 PB。
4、FlockDB
FlockDB是一种非常快、扩展性非常好的图形数据库,擅长存储社交网络数据。虽然这个项目的开源版已有一段时间没有更新了,但它仍可用于下载。
5、Neo4j
Neo4j是速度快、扩展性佳的原生图形数据库,它具有大规模扩展性、快速的密码查询性能和经过改进的开发效率。支持的操作系统:Windows和Linux。
6、Pivotal Greenplum Database
Greenplum是同类中不错的企业级分析数据库,能够非常快速地对庞大的海量数据进行功能强大的分析。它是Pivotal大数据库套件的一部分。支持的操作系统:Windows、Linux和OS X。
7、Impala
Cloudera基于SQL的Impala数据库是面向Apache Hadoop的开源分析数据库。它可以作为一款独立产品来下载,又是Cloudera的商业大数据产品的一部分。支持的操作系统:Linux和OS X。
8、InfoBright社区版
InfoBright为数据分析而设计,这是一种面向列的数据库,具有很高的压缩比。InfoBright.com提供基于同一代码的收费产品,提供支持服务。支持的操作系统:Windows和Linux。
9、Hibari
这个基于Erlang的项目是一种分布式有序键值存储系统,有很强的一致性。它最初是由Gemini Mobile Technologies开发的,现在已被欧洲和亚洲的几家电信运营商所使用。支持的操作系统:与操作系统无关。
10、MongoDB
mongoDB的下载量已超过1000万人次,是一款极其受欢迎的NoSQL数据库。MongoDB.com上提供了企业版、支持、培训及相关产品和服务。支持的操作系统:Windows、Linux、OS X和Solaris。

Ⅱ 数据库 大数据操作

下面以关系数据库系统Informix为例,介绍改善用户查询计划的方法。 1.合理使用索引 索引是数据库中重要的数据结构,它的根本目的就是为了提高查询效率。现在大多数的数据库产品都采用IBM最先提出的ISAM索引结构。索引的使用要恰到好处,其使用原则如下: ●在经常进行连接,但是没有指定为外键的列上建立索引,而不经常连接的字段则由优化器自动生成索引。 ●在频繁进行排序或分组(即进行group by或order by操作)的列上建立索引。 ●在条件表达式中经常用到的不同值较多的列上建立检索,在不同值少的列上不要建立索引。比如在雇员表的“性别”列上只有“男”与“女”两个不同值,因此就无必要建立索引。如果建立索引不但不会提高查询效率,反而会严重降低更新速度。 ●如果待排序的列有多个,可以在这些列上建立复合索引(compound index)。 ●使用系统工具。如Informix数据库有一个tbcheck工具,可以在可疑的索引上进行检查。在一些数据库服务器上,索引可能失效或者因为频繁操作而使得读取效率降低,如果一个使用索引的查询不明不白地慢下来,可以试着用tbcheck工具检查索引的完整性,必要时进行修复。另外,当数据库表更新大量数据后,删除并重建索引可以提高查询速度。 2.避免或简化排序 应当简化或避免对大型表进行重复的排序。当能够利用索引自动以适当的次序产生输出时,优化器就避免了排序的步骤。以下是一些影响因素: ●索引中不包括一个或几个待排序的列; ●group by或order by子句中列的次序与索引的次序不一样; ●排序的列来自不同的表。 为了避免不必要的排序,就要正确地增建索引,合理地合并数据库表(尽管有时可能影响表的规范化,但相对于效率的提高是值得的)。如果排序不可避免,那么应当试图简化它,如缩小排序的列的范围等。 3.消除对大型表行数据的顺序存取 在嵌套查询中,对表的顺序存取对查询效率可能产生致命的影响。比如采用顺序存取策略,一个嵌套3层的查询,如果每层都查询1000行,那么这个查询就要查询10亿行数据。避免这种情况的主要方法就是对连接的列进行索引。例如,两个表:学生表(学号、姓名、年龄……)和选课表(学号、课程号、成绩)。如果两个表要做连接,就要在“学号”这个连接字段上建立索引。 还可以使用并集来避免顺序存取。尽管在所有的检查列上都有索引,但某些形式的where子句强迫优化器使用顺序存取。下面的查询将强迫对orders表执行顺序操作: SELECT * FROM orders WHERE (customer_num=104 AND order_num>1001) OR order_num=1008 虽然在customer_num和order_num上建有索引,但是在上面的语句中优化器还是使用顺序存取路径扫描整个表。因为这个语句要检索的是分离的行的集合,所以应该改为如下语句: SELECT * FROM orders WHERE customer_num=104 AND order_num>1001 UNION SELECT * FROM orders WHERE order_num=1008 这样就能利用索引路径处理查询。 4.避免相关子查询 一个列的标签同时在主查询和where子句中的查询中出现,那么很可能当主查询中的列值改变之后,子查询必须重新查询一次。查询嵌套层次越多,效率越低,因此应当尽量避免子查询。如果子查询不可避免,那么要在子查询中过滤掉尽可能多的行。 5.避免困难的正规表达式 MATCHES和LIKE关键字支持通配符匹配,技术上叫正规表达式。但这种匹配特别耗费时间。例如:SELECT * FROM customer WHERE zipcode LIKE “98_ _ _” 即使在zipcode字段上建立了索引,在这种情况下也还是采用顺序扫描的方式。如果把语句改为SELECT * FROM customer WHERE zipcode >“98000”,在执行查询时就会利用索引来查询,显然会大大提高速度。 另外,还要避免非开始的子串。例如语句:SELECT * FROM customer WHERE zipcode[2,3]>“80”,在where子句中采用了非开始子串,因而这个语句也不会使用索引。 6.使用临时表加速查询 把表的一个子集进行排序并创建临时表,有时能加速查询。它有助于避免多重排序操作,而且在其他方面还能简化优化器的工作。例如: SELECT cust.name,rcvbles.balance,……other columns FROM cust,rcvbles WHERE cust.customer_id = rcvlbes.customer_id AND rcvblls.balance>0 AND cust.postcode>“98000” ORDER BY cust.name 如果这个查询要被执行多次而不止一次,可以把所有未付款的客户找出来放在一个临时文件中,并按客户的名字进行排序: SELECT cust.name,rcvbles.balance,……other columns FROM cust,rcvbles WHERE cust.customer_id = rcvlbes.customer_id AND rcvblls.balance>0 ORDER BY cust.name INTO TEMP cust_with_balance 然后以下面的方式在临时表中查询: SELECT * FROM cust_with_balance WHERE postcode>“98000” 临时表中的行要比主表中的行少,而且物理顺序就是所要求的顺序,减少了磁盘I/O,所以查询工作量可以得到大幅减少。 注意:临时表创建后不会反映主表的修改。在主表中数据频繁修改的情况下,注意不要丢失数据。 7.用排序来取代非顺序存取 非顺序磁盘存取是最慢的操作,表现在磁盘存取臂的来回移动。SQL语句隐藏了这一情况,使得我们在写应用程序时很容易写出要求存取大量非顺序页的查询。 有些时候,用数据库的排序能力来替代非顺序的存取能改进查询。 实例分析 下面我们举一个制造公司的例子来说明如何进行查询优化。制造公司数据库中包括3个表,模式如下所示: 1.part表 零件号?????零件描述????????其他列 (part_num)?(part_desc)??????(other column) 102,032???Seageat 30G disk?????…… 500,049???Novel 10M network card??…… …… 2.vendor表 厂商号??????厂商名??????其他列 (vendor _num)?(vendor_name) (other column) 910,257?????Seageat Corp???…… 523,045?????IBM Corp?????…… …… 3.parven表 零件号?????厂商号?????零件数量 (part_num)?(vendor_num)?(part_amount) 102,032????910,257????3,450,000 234,423????321,001????4,000,000 …… 下面的查询将在这些表上定期运行,并产生关于所有零件数量的报表: SELECT part_desc,vendor_name,part_amount FROM part,vendor,parven WHERE part.part_num=parven.part_num AND parven.vendor_num = vendor.vendor_num ORDER BY part.part_num 如果不建立索引,上述查询代码的开销将十分巨大。为此,我们在零件号和厂商号上建立索引。索引的建立避免了在嵌套中反复扫描。关于表与索引的统计信息如下: 表?????行尺寸???行数量?????每页行数量???数据页数量 (table)?(row size)?(Row count)?(Rows/Pages)?(Data Pages) part????150?????10,000????25???????400 Vendor???150?????1,000???? 25???????40 Parven???13????? 15,000????300?????? 50 索引?????键尺寸???每页键数量???页面数量 (Indexes)?(Key Size)?(Keys/Page)???(Leaf Pages) part?????4??????500???????20 Vendor????4??????500???????2 Parven????8??????250???????60 看起来是个相对简单的3表连接,但是其查询开销是很大的。通过查看系统表可以看到,在part_num上和vendor_num上有簇索引,因此索引是按照物理顺序存放的。parven表没有特定的存放次序。这些表的大小说明从缓冲页中非顺序存取的成功率很小。此语句的优化查询规划是:首先从part中顺序读取400页,然后再对parven表非顺序存取1万次,每次2页(一个索引页、一个数据页),总计2万个磁盘页,最后对vendor表非顺序存取1.5万次,合3万个磁盘页。可以看出在这个索引好的连接上花费的磁盘存取为5.04万次。

Ⅲ 爆棚的巨大数据库跟系统默认的大数据库有多大区别

从以下定义中很容易理解3者之间的关系: 数据库系统(database systems),是由数据版库及其管理软件组成的系统权。数据库系统一般由数据库、数据库管理系统(DBMS)、应用系统、数据库管理员和用户构成。DBMS是数据库系统的基础和核心。 数据库管理系统(database management system)是一种操纵和管理数据库的大型软件,是用于建立、使用和维护数据库,简称DBMS。常见的数据库管理系统有:Oracle、Sybase、Informix、Microsoft SQL Server等。

Ⅳ 大数据常用哪些数据库

通常数据库分为关系型数据库和非关系型数据库,关系型数据库的优势到现在也是无可替代的,比如MySQL、SQL Server、Oracle、DB2、SyBase、Informix、PostgreSQL以及比较小型的Access等等数据库,这些数据库支持复杂的SQL操作和事务机制,适合小量数据读写场景;但是到了大数据时代,人们更多的数据和物联网加入的数据已经超出了关系数据库的承载范围。

大数据时代初期,随着数据请求并发量大不断增大,一般都是采用的集群同步数据的方式处理,就是将数据库分成了很多的小库,每个数据库的数据内容是不变的,都是保存了源数据库的数据副本,通过同步或者异步方式保证数据的一致性,每个库设定特定的读写方式,比如主数据库负责写操作,从数据库是负责读操作,等等根据业务复杂程度以此类推,将业务在物理层面上进行了分离,但是这种方式依旧存在一定的负载压力的问题,企业数据在不断的扩增中,后面就采用分库分表的方式解决,对读写负载进行分离,但是这种实现依旧存在不足,且需要不断进行数据库服务器扩容。
NoSQL数据库大致分为5种类型

1、列族数据库:BigTable、HBase、Cassandra、Amazon SimpleDB、HadoopDB等,下面简单介绍几个

(1)Cassandra:Cassandra是一个列存储数据库,支持跨数据中心的数据复制。它的数据模型提供列索引,log-structured修改,支持反规范化,实体化视图和嵌入超高速缓存。

(2)HBase:Apache Hbase源于Google的Bigtable,是一个开源、分布式、面向列存储的模型。在Hadoop和HDFS之上提供了像Bigtable一样的功能。

(3)Amazon SimpleDB:Amazon SimpleDB是一个非关系型数据存储,它卸下数据库管理的工作。开发者使用Web服务请求存储和查询数据项

(4)Apache Accumulo:Apache Accumulo的有序的、分布式键值数据存储,基于Google的BigTable设计,建立在Apache Hadoop、Zookeeper和Thrift技术之上。

(5)Hypertable:Hypertable是一个开源、可扩展的数据库,模仿Bigtable,支持分片。

(6)Azure Tables:Windows Azure Table Storage Service为要求大量非结构化数据存储的应用提供NoSQL性能。表能够自动扩展到TB级别,能通过REST和Managed API访问。

2、键值数据库:Redis、SimpleDB、Scalaris、Memcached等,下面简单介绍几个

(1)Riak:Riak是一个开源,分布式键值数据库,支持数据复制和容错。(2)Redis:Redis是一个开源的键值存储。支持主从式复制、事务,Pub/Sub、Lua脚本,还支持给Key添加时限。

(3)Dynamo:Dynamo是一个键值分布式数据存储。它直接由亚马逊Dynamo数据库实现;在亚马逊S3产品中使用。

(4)Oracle NoSQL Database:来自Oracle的键值NoSQL数据库。它支持事务ACID(原子性、一致性、持久性和独立性)和JSON。

(5)Oracle NoSQL Database:具备数据备份和分布式键值存储系统。

(6)Voldemort:具备数据备份和分布式键值存储系统。

(7)Aerospike:Aerospike数据库是一个键值存储,支持混合内存架构,通过强一致性和可调一致性保证数据的完整性。

3、文档数据库:MongoDB、CouchDB、Perservere、Terrastore、RavenDB等,下面简单介绍几个

(1)MongoDB:开源、面向文档,也是当下最人气的NoSQL数据库。

(2)CounchDB:Apache CounchDB是一个使用JSON的文档数据库,使用Javascript做MapRece查询,以及一个使用HTTP的API。

(3)Couchbase:NoSQL文档数据库基于JSON模型。

(4)RavenDB:RavenDB是一个基于.NET语言的面向文档数据库。

(5)MarkLogic:MarkLogic NoSQL数据库用来存储基于XML和以文档为中心的信息,支持灵活的模式。

4、图数据库:Neo4J、InfoGrid、OrientDB、GraphDB,下面简单介绍几个

(1)Neo4j:Neo4j是一个图数据库;支持ACID事务(原子性、独立性、持久性和一致性)。

(2)InfiniteGraph:一个图数据库用来维持和遍历对象间的关系,支持分布式数据存储。

(3)AllegroGraph:AllegroGraph是结合使用了内存和磁盘,提供了高可扩展性,支持SPARQ、RDFS++和Prolog推理。

5、内存数据网格:Hazelcast、Oracle Coherence、Terracotta BigMemorry、GemFire、Infinispan、GridGain、GigaSpaces,下面简单介绍几个

(1)Hazelcast:Hazelcast CE是一个开源数据分布平台,它允许开发者在数据库集群之上共享和分割数据。

(2)Oracle Coherence:Oracle的内存数据网格解决方案提供了常用数据的快速访问能力,一致性支持事务处理能力和数据的动态划分。

(3)Terracotta BigMemory:来自Terracotta的分布式内存管理解决方案。这项产品包括一个Ehcache界面、Terracotta管理控制台和BigMemory-Hadoop连接器。

(4)GemFire:Vmware vFabric GemFire是一个分布式数据管理平台,也是一个分布式的数据网格平台,支持内存数据管理、复制、划分、数据识别路由和连续查询。

(5)Infinispan:Infinispan是一个基于Java的开源键值NoSQL数据存储,和分布式数据节点平台,支持事务,peer-to-peer 及client/server 架构。

(6)GridGain:分布式、面向对象、基于内存、SQL+NoSQL键值数据库。支持ACID事务。

(7)GigaSpaces:GigaSpaces内存数据网格能够充当应用的记录系统,并支持各种各样的高速缓存场景。

Ⅳ 大数据正在如何改变数据库格局

大数据正在如何改变数据库格局

提及“数据库”,大多数人会想到拥有30多年风光历史的RDBMS。然而,这可能很快就会发生改变。

一大批新的竞争者都在争夺这一块重要市场,他们的方法是多种多样的,却都有一个共同点:极其专注于大数据。推动新的数据迭代衍生品大部分都是基于底层大数据的3V特征:数量,速度和种类。本质上来讲,今天的数据比以往任何时候都要传输更快,体积更大, 同时更加多样化。这是一个新的数据世界,换言之,传统的关系数据库管理系统并没有真正为此而设计。“基本上,他们不能扩展到大量,或快速,或不同种类的数据。”一位数据分析、数据科学咨询机构的总裁格雷戈里认为。这就是哈特汉克斯最近发现。截至到2013年左右,营销服务机构使用不同的数据库,包括Microsoft SQL Server和Oracle真正应用集群(RAC)的组合。“我们注意到,数据随着时间的增长,我们的系统不能足够快速的处理信息”一位科技发展公司的负责人肖恩说到。“如果你不断地购买服务器,你只能继续走到这幺远,我们希望确保自己有向外扩展的平台。”最小化中断是一个重要的目标,Iannuzzi说到,因此“我们不能只是切换到Hadoop。”相反,却选择了拼接机器,基本上把完整的SQL数据库放到目前流行的Hadoop大数据平台之上,并允许现有的应用程序能够与它连接,他认为。哈特汉克斯现在是在执行的初期阶段,但它已经看到了好处,Iannuzzi说,包括提高容错性,高可用性,冗余性,稳定性和“性能全面提升”。一种完美风暴推动了新的数据库技术的出现,IDC公司研究副总裁Carl Olofson说到。首先,“我们正在使用的设备与过去对比,处理大数据集更加快速,灵活性更强”Olofson说。在过去,这样的集合“几乎必须放在旋转磁盘上”,而且数据必须以特定的方式来结构化,他解释说。现在有64位寻址,使得能够设置更大的存储空间以及更快的网络,并能够串联多台计算器充当单个大型数据库。“这些东西在不可用之前开辟了可能性”Olofson说。与此同时,工作负载也发生了变化。10年前的网站主要是静态的,例如,今天我们享受到的网络服务环境和互动式购物体验。反过来,需要新的可扩展性,他说。公司正在利用新的方式来使用数据。虽然传统上我们大部分的精力都放在了对事务处理 – 销售总额的记录,比如,数据存储在可以用来分析的地方 – 现在我们做的更多。应用状态管理就是一个例子假设你正在玩一个网络游戏。该技术会记录你与系统的每个会话并连接在一起,以呈现出连续的体验,即使你切换设备或各种移动,不同的服务器都会进行处理,Olofson解释说。数据必须保持连续性,这样企业才可以分析问题,例如“为什么从来没有人穿过水晶厅”。在网络购物方面,为什么对方点击选择颜色后大多数人不会购买某个特殊品牌的鞋子。“以前,我们并没试图解决这些问题,或者我们试图扔进盒子也不太合适”Olofson说。Hadoop是当今新的竞争者中一个重量级的产品。虽然他本身不是一个数据库,它的成长为企业解决大数据扮演关键角色。从本质上讲,Hadoop是一个运行高度并行应用程序的数据中心平台,它有很强的可扩展性。通过允许企业扩展“走出去”的分布方式,而不是通过额外昂贵的服务器“向上”扩展,“它使得我们可以低成本地把一个大的数据集汇总,然后进行分析研究成果”Olofson说。其他新的RDBMS的替代品如NoSQL家族产品,其中包括MongoDB -目前第四大流行数据库管理系统,比照DB引擎和MarkLogic非结构化数据存储服务。“关系型数据库一直是一项伟大的技术持续了30年,但它是建立在不同的时代有不同的技术限制和不同的市场需求,”MarkLogic的执行副总裁乔·产品帕卡说。大数据是不均匀的,他说。许多传统的技术,这仍然是一个基本要求。“想象一下,你的笔记本电脑上唯一的程序是Excel”帕卡说。“设想一下,你要和你的朋友利用网络保持联系 – 或者你正在写一个合约却不适合放进行和列中。”拼接数据集是特别棘手的“关系型,你把所有这些数据集中在一起前,必须先决定如何去组织所有的列,”他补充说。“我们可以采取任何形式或结构,并立即开始使用它。”NoSQL数据库没有使用关系数据模型,并且它们通常不具有SQL接口。尽管许多的NoSQL存储折中支持速度等其他因素,MarkLogic为企业定身量做,提供更为周全的选择。NoSQL储存市场有相当大的增长,据市场研究媒体,不是每个人都认为这是正确的做法-至少,不是在所有情况下。NoSQL系统“解决了许多问题,他们横向扩展架构,但他们却抛出了SQL,”一位CEO-Monte Zweben说。这反过来,又为现有的代码构成问题。Splice Machine是一家基于Hadoop的实时大数据技术公司,支持SQL事务处理,并针对OLAP 和OLAP应用进行实时优化处理。它被称为替代NewSQL的一个例子,另一类预期会在未来几年强劲增长。“我们的理念是保持SQL,但横向扩展架构”Zweben说。“这是新事物,但我们正在努力试图使它让人们不必重写自己的东西。”深度信息科学选择并坚持使用SQL,但需要另一种方法。公司的DeepSQL数据库使用相同的应用程序编程接口(API)和关系模型如MySQL,意味着没有应用变化的需求而使用它。但它以不同的方式处理数据,使用机器学习。DeepSQL可以自动适应使用任何工作负载组合的物理,虚拟或云主机,该公司表示,从而省去了手动优化数据库的需要。该公司的首席战略官Chad Jones表示,在业绩大幅增加的同时,也有能力将“规模化”为上千亿的行。一种来自Algebraix数据完全不同的方式,表示已经开发了数据的第一个真正的数学化基础。而计算器硬件需在数学建模前建成,这不是在软件的情况下,Algebraix首席执行官查尔斯银说。“软件,尤其是数据,从未建立在数学的基础上”他说,“软件在很大程度上是语言学的问题。”经过五年的研发,Algebraix创造了所谓的“数据的代数”集合论,“数据的通用语言”Silver说。“大数据肮脏的小秘密是数据仍然放在不与其他数据小仓融合的地方”Silver解释说。“我们已经证明,它都可以用数学方法来表示所有的集成。”配备一个基础的平台,Algebraix现在为企业提供业务分析作为一种服务。改进的性能,容量和速度都符合预期的承诺。时间会告诉我们哪些新的竞争者取得成功,哪些没有,但在此期间,长期的领导者如Oracle不会完全停滞不前。“软件是一个非常时尚行业”安德鲁·门德尔松,甲骨文执行副总裁数据库服务器技术说。“事情经常去从流行到不受欢迎,回再次到流行。”今天的许多创业公司“带回炒冷饭少许抛光或旋转就可以了”他说。“这是一个新一代孩子走出学校和重塑的东西。”SQL是“唯一的语言,可以让业务分析师提出问题并得到答案,他们没有程序员,”门德尔松说。“大市场将始终是关系型。”至于新的数据类型,关系型数据库产品早在上世纪90年代发展为支持非结构化数据,他说。在2013年,甲骨文的同名数据库版本12C增加了支持JSON(JavaScript对象符号)。与其说需要一个不同类型的数据库,它更是一种商业模式的转变,门德尔松说。“云,若是每个人都去,这将破坏这些小家伙”他说。“大家都在云上了,所以在这里有没有地方来放这些小家伙?“他们会去亚马逊的云与亚马逊竞争?” 他补充说。“这将是困难的。”甲骨文有“最广泛的云服务”门德尔松说。“在现在的位置,我们感觉良好。”Gartner公司的研究主任里克·格林沃尔德,倾向于采取了类似的观点。“对比传统强大的RDBMS,新的替代品并非功能齐全”格林沃尔德说。“一些使用案例可以与新的竞争者来解决,但不是全部,并非一种技术”。展望未来,格林沃尔德预计,传统的RDBMS供货商感到价格压力越来越大,并为他们的产品增加新的功能。“有些人会自由地带来新的竞争者进入管理自己的整个数据生态系统”他说。至于新的产品,有几个会生存下来,他预测“许多人将被收购或资金耗尽”。今天的新技术并不代表传统的RDBMS的结束,“正在迅速发展自己”IDC的Olofson。赞成这种说法,“RDBMS是需要明确定义的数据 – 总是会有这样一个角色。”但也会有一些新的竞争者的角色,他说,特别是物联网技术和新兴技术如非易失性内存芯片模块(NVDIMM)占据上风。

以上是小编为大家分享的关于大数据正在如何改变数据库格局的相关内容,更多信息可以关注环球青藤分享更多干货

Ⅵ 大数据量的系统的数据库结构如何设计

1、把你表中经常查询的和不常用的分开几个表,也就是横向切分
2、把不同类型的分成几个表,纵向切分
3、常用联接的建索引
4、服务器放几个硬盘,把数据、日志、索引分盘存放,这样可以提高IO吞吐率
5、用优化器,优化你的查询
6、考虑冗余,这样可以减少连接
7、可以考虑建立统计表,就是实时生成总计表,这样可以避免每次查询都统计一次
mrzxc 等说的好,考虑你的系统,注意负载平衡,查询优化,25 万并不大,可以建一个表,然后按mrzxc 的3 4 5 7 优化。 速度,影响它的因数太多了,且数据量越大越明显。
1、存储 将硬盘分成NTFS格式,NTFS比FAT32快,并看你的数据文件大小,1G以上你可以采用多数据库文件,这样可以将存取负载分散到多个物理硬盘或磁盘阵列上。
2、tempdb tempdb也应该被单独的物理硬盘或磁盘阵列上,建议放在RAID 0上,这样它的性能最高,不要对它设置最大值让它自动增长
3、日志文件 日志文件也应该和数据文件分开在不同的理硬盘或磁盘阵列上,这样也可以提高硬盘I/O性能。
4、分区视图 就是将你的数据水平分割在集群服务器上,它适合大规模OLTP,SQL群集上,如果你数据库不是访问特别大不建议使用。
5、簇索引 你的表一定有个簇索引,在使用簇索引查询的时候,区块查询是最快的,如用between,应为他是物理连续的,你应该尽量减少对它的updaet,应为这可以使它物理不连续。
6、非簇索引 非簇索引与物理顺序无关,设计它时必须有高度的可选择性,可以提高查询速度,但对表update的时候这些非簇索引会影响速度,且占用空间大,如果你愿意用空间和修改时间换取速度可以考虑。
7、索引视图 如果在视图上建立索引,那视图的结果集就会被存储起来,对与特定的查询性能可以提高很多,但同样对update语句时它也会严重减低性能,一般用在数据相对稳定的数据仓库中。
8、维护索引 你在将索引建好后,定期维护是很重要的,用dbcc showcontig来观察页密度、扫描密度等等,及时用dbcc indexdefrag来整理表或视图的索引,在必要的时候用dbcc dbreindex来重建索引可以受到良好的效果。 不论你是用几个表1、2、3点都可以提高一定的性能,5、6、8点你是必须做的,至于4、7点看你的需求,我个人是不建议的。打了半个多小时想是在写论文,希望对你有帮助。

Ⅶ 大数据用什么数据库

大数据现在通常采用的都是云数据库。

Ⅷ 大数据量的数据库表设计技巧

大数据量的数据库表设计技巧
即使是一个非常简单的数据库应用系统,它的数据量增加到一定程度也会引起发一系列问题。如果在设计数据库的时候,就提前考虑这些问题,可以避免由于系统反映迟缓而引起的用户抱怨。
技巧1:尽量不要使用代码。比如性别这个字段常见的做法:1代表男,0代表女。这样的做法意味着每一次查询都需要关联代码表。
技巧2:历史数据中所有字段与业务表不要有依赖关系。如保存打印发票的时候,不要只保留单位代码,而应当把单位名称也保存下来。
技巧3:使用中间表。比如职工工资,可以把每一位职工工资的合计保存在一张中间表中,当职工某一工资项目发生变化的时候,同时对中间表的数据做相应更新。
技巧4:使用统计表。需要经常使用的统计数据,生成之后可以用专门的表来保存。
技巧5:分批保存历史数据。历史数据可以分段保存,比如2003年的历史数据保存在 《2003表名》中,而2004年的历史数据则保存在《2004表名》中。
技巧6:把不常用的数据从业务表中移到历史表。比如职工档案表,当某一职工离开公司以后,应该把他的职工档案表中的信息移动到《离职职工档案表》中。
1、经常查询的和不常用的分开几个表,也就是横向切分
2、把不同类型的分成几个表,纵向切分
3、常用联接的建索引
4、服务器放几个硬盘,把数据、日志、索引分盘存放,这样可以提高IO吞吐率
5、用优化器,优化你的查询
6、考虑冗余,这样可以减少连接
7、可以考虑建立统计表,就是实时生成总计表,这样可以避免每次查询都统计一次
8、用极量数据测试一下数据
速度,影响它的因数太多了,且数据量越大越明显。
1、存储将硬盘分成NTFS格式,NTFS比FAT32快,并看你的数据文件大小,1G以上你可以采用多数据库文件,这样可以将存取负载分散到多个物理硬盘或磁盘阵列上。
2、tempdbtempdb也应该被单独的物理硬盘或磁盘阵列上,建议放在RAID0上,这样它的性能最高,不要对它设置最大值让它自动增长
3、日志文件日志文件也应该和数据文件分开在不同的理硬盘或磁盘阵列上,这样也可以提高硬盘I/O性能。
4、分区视图就是将你的数据水平分割在集群服务器上,它适合大规模OLTP,SQL群集上,如果你数据库不是访问特别大不建议使用。
5、簇索引你的表一定有个簇索引,在使用簇索引查询的时候,区块查询是最快的,如用between,应为他是物理连续的,你应该尽量减少对它的updaet,应为这可以使它物理不连续。
6、非簇索引非簇索引与物理顺序无关,设计它时必须有高度的可选择性,可以提高查询速度,但对表update的时候这些非簇索引会影响速度,且占用空间大,如果你愿意用空间和修改时间换取速度可以考虑。
7、索引视图如果在视图上建立索引,那视图的结果集就会被存储起来,对与特定的查询性能可以提高很多,但同样对update语句时它也会严重减低性能,一般用在数据相对稳定的数据仓库中。
8、维护索引你在将索引建好后,定期维护是很重要的,用dbccshowcontig来观察页密度、扫描密度等等,及时用dbccindexdefrag来整理表或视图的索引,在必要的时候用dbccdbreindex来重建索引可以受到良好的效果。
不论你是用几个表1、2、3点都可以提高一定的性能,5、6、8点你是必须做的,至于4、7点看你的需求,我个人是不建议的。

Ⅸ 大数据和传统数据库的区别是什么

现在的大数据分析,跟传统意义的分析有一个本质区别,就是传统的分析是基于结构化、关系性的数据。
而且往往是取一个很小的数据集,来对整个数据进行预测和判断。但现在是大数据时代,理念已经完全改变了,现在的大数据分析,是对整个数据全集直接进行存储和管理分析