十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
DB(Database)数据库,另外,还有常见的DBMS表示数据库管理系统(Database Management System)。
我们提供的服务有:成都网站建设、成都做网站、微信公众号开发、网站优化、网站认证、阜新ssl等。为上1000家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的阜新网站制作公司
数据库是以某种规则储存在一起、能够与多个用户共享、具有尽可能小的冗余度、且与应用程序彼此独立的数据集合,可以视为电子化的文件柜,用户可以对文件中的数据进行新增、查询、更新、删除等操作。
扩展资料:
数据库类型:
1、关系数据库
关系型数据库,存储的格式可以直观地反映实体间的关系。关系型数据库和常见的表格比较相似,关系型数据库中表与表之间是有很多复杂的关联关系的。
常见的关系型数据库有Mysql,SqlServer等。在轻量或者小型的应用中,使用不同的关系型数据库对系统的性能影响不大,但是在构建大型应用时,则需要根据应用的业务需求和性能需求,选择合适的关系型数据库。
2、非关系型数据库(NoSQL)
指的是分布式的、非关系型的、不保证遵循ACID原则的数据存储系统。NoSQL数据库技术与CAP理论、一致性哈希算法有密切关系。
NoSQL数据库技术还是具有非常明显的应用优势,如数据库结构相对简单,在大数据量下的读写性能好;能满足随时存储自定义数据格式需求,非常适用于大数据处理工作。
参考资料来源:百度百科-数据库
大数据热门词汇汇总
可以说,大数据是如今IT行业最热门的趋势之一,它催生出了处理大数据的一批全新技术。而新技术带来了新的热门词汇:首字母缩略词、专业术语和产品名称等。连"大数据"这个短语本身都让人犯晕。许多人一听到"大数据",觉得是指"大量数据",而大数据的涵义绝不仅仅涉及数据量的多寡。
下面是我们认为你要熟悉的几个热门词汇,按字母顺序排列。
ACID
ACID的全称是原子性、一致性、隔离性和持久性,这其实是一组需求或属性:如果这四个方面都得到遵守,就能在处理过程中确保数据库事务的数据完整性。虽然ACID问世已有一段时日,但是事务数据量的急剧增长把更多的注意力投向在处理大数据时需要满足ACID的规定。
大数据三要素
如今的IT系统在生成数量、速度和种类都很"庞大"的数据。
数量:IDC公司估计,今年全球信息总量将达到2.7泽字节(这相当于27亿太字节),而且每两年就翻一番。
速度:让IT管理人员们头痛的不仅仅是数据数量,还有数据从金融系统、零售系统、网站、传感器、无线射频识别(RFID)芯片以及Facebook和推特等社交网络源源而来的速度越来越快。
种类:如果回到5年前或可能10年前,IT人员处理的主要是字母数字数据,它们很容易存储在关系数据库中整齐排列的行和列中。现在不再是这样了。如今,推特和Facebook上的帖子、各种文档及网页内容等非结构化数据都是大数据组合的一部分。
列式(或列型)数据库
一些新一代数据库(如开源Cassandra和惠普的Vertica数据库)被设计成了按列存储数据,而不是像传统的SQL数据库那样按行存储数据。这种设计提供了更快的磁盘访问速度,提高了处理大数据时的性能。对数据密集型业务分析应用系统而言,列式数据库尤其受到欢迎。
数据仓库
数据仓库这个概念存在至今已有大概25年了,具体指将数据从多个操作IT系统复制到面向业务分析应用系统的辅助离线数据库
但是随着数据量急剧增长,数据仓库系统正在迅速改变。它们需要存储更多的数据以及更多种类的数据,因而数据仓库管理成为一大难题。10年或20年前,数据可能每周或每月复制到数据仓库系统中;而如今,数据仓库的更新要频繁得多,有的甚至实时更新。
ETL
将数据从一个数据库(比如支持银行应用事务处理系统的数据库)转移到另一个数据库(比如用于业务分析的数据仓库系统)时,就要用到提取、转换和加载(ETL)软件。数据从一个数据库传送到另一个数据库时,常常需要对数据进行重新格式化和清理操作。
由于数据量急剧增长,数据处理速度大大加快,对ETL工具的性能要求也大大提高了。
Flume
Flume是属于Apache Hadoop大家族(其他技术包括HBase、Hive、Oozie、Pig和Whirr)的一项技术,这种框架用于为Hadoop填充数据。该技术使用散布于应用服务器、Web服务器、移动设备及其他系统上的软件代理,收集数据,并将数据传送到Hadoop系统。
比如说,公司可以使用在Web服务器上运行的Apache Flume,收集来自推特帖子的数据,以便分析。
地理空间分析
推动大数据潮流的一个趋势是,由如今的IT系统生成和收集的地理空间数据越来越多。常言道,一幅图片的信息量抵得上1000个单词;所以难怪越来越多的地图、图表、照片及其他基于地理位置的内容是导致如今大数据呈爆炸式增长的主要动因。
地理空间分析是一种特殊形式的数据可视化(参阅下面的"可视化"条目),在地理地图上覆盖数据,以帮助用户更清楚地理解大数据分析的结果。
Hadoop
Hadoop是一种开源平台,用于开发分布式、数据密集型的应用程序。它由Apache软件基金会控制。
Hadoop的发明者是雅虎公司的开发者道格o卡廷(Doug Cutting),他在谷歌实验室的MapReduce概念这个基础上开发出了Hadoop,以他儿子的玩具象命名。
另外,HBase是一种非关系数据库,它是作为Hadoop项目的一部分开发而成的。Hadoop分布式文件系统(HDFS)是Hadoop的一个关键组成部分。Hive则是建立在Hadoop基础上的数据仓库系统。
内存中数据库
计算机在处理事务或执行查询时,一般从磁盘驱动器获取数据。但是当IT系统处理大数据时,这个过程可能实在太慢。
内存中数据库系统利用计算机的主内存来存储经常使用的数据,因而大大缩短了处理时间。内存中数据库产品包括SAP HANA和甲骨文Times Ten内存中数据库。
Java
Java是一种编程语言,由现隶属甲骨文公司的Sun开发,于1995年发布。Hadoop和其他许多大数据技术都是使用Java开发而成的,它仍是大数据领域一种主要的开发技术。
Kafka
Kafka是一种高吞吐量的分布式消息传送系统,最初是在LinkedIn开发而成,用于管理该服务网站的活动流(关于网站使用情况的数据)和操作数据处理流水线(关于服务器组件的性能)。
Kafka在处理大量流式数据时很有效,而流式数据是许多大数据计算环境的一个关键问题。由推特开发的Storm是另一种大行其道的流处理技术。
Apache软件基金会已将Kafka列为一个开源项目。所以,别以为这是有缺陷的软件。
延迟时间
延迟时间是指数据从一个点传送到另一个点过程中的延迟,或者是某个系统(如应用程序)响应另一个系统的延迟数量。
虽然延迟时间不是什么新术语,但是随着数据量不断增长,IT系统竭力跟上步伐,如今你更常听到这个术语。简单地说,"低延迟"是好事,"高延迟"是坏事。
映射/化简
映射/化简(Map/Reduce)这种方法是指把一个复杂的问题分解成多个较小的部分,然后将它们分发到多台计算机上,最后把它们重新组装成一个答案。
谷歌的搜索系统用到了映射/化简概念,这家公司有一个品牌名为MapReduce的框架。
谷歌在2004年发布的一份白皮书描述了它使用映射/化简的情况。Hadoop之父道格o卡廷充分认识到了其潜力,开发出了同样借用映射/化简概念的第一个版本的Hadoop。
NoSQL数据库
大多数主流的数据库(如甲骨文数据库和微软SQL Server)基于关系型体系结构,使用结构化查询语言(SQL)用于开发和数据管理。
但是名为"NoSQL"(有些人现在称NoSQL表示"不是只有SQL")的新一代数据库系统基于支持者们认为更适合处理大数据的体系结构。
一些NoSQL数据库是为提高可扩展性和灵活性设计的,另一些NoSQL数据库在处理文档及其他非结构化数据方面比较有效。典型的NoSQL数据库包括Hadoop/HBase、Cassandra、MongoDB和CouchDB,而甲骨文等一些知名开发商已推出了各自的NoSQL产品。
Oozie
Apache Oozie是一种开源工作流引擎,用于帮助管理面向Hadoop的处理工作。使用Oozie,一系列工作可以用多种语言(如Pig和MapReduce)来加以定义,然后彼此关联起来。比如说,一旦从操作应用程序收集数据的作业已完成,程序员就可以启动数据分析查询任务。
Pig
Pig是Apache软件基金会的另一个项目,这个平台用于分析庞大的数据集。就其本质而言,Pig是一种编程语言,可用于开发在Hadoop上运行的并行计算查询。
定量数据分析
定量数据分析是指使用复杂的数学或统计模型,解释金融和商业行为,或者甚至预测未来的行为。
由于如今收集的数据量急剧增加,定量数据分析已变得更加复杂。但是如果公司知道如何利用海量数据,获得更好的可视性,深入了解公司业务,并且洞察市场发展趋势,那么更多的数据也有望在数据分析方面带来更多的机会。
一个问题是,拥有这种分析技能的人才严重匮乏。知名咨询公司麦肯锡表示,光美国就需要150万名拥有大数据分析技能的分析员和管理员。
关系数据库
关系数据库管理系统(RDBM)是如今使用最广泛的一种数据库,包括IBM的DB2、微软的SQL Server和甲骨文数据库。从银行应用系统、零售店的销售点系统到库存管理应用软件,大多数的企业事务处理系统都在RDBM上运行。
但有些人认为,关系数据库可能跟不上如今数据量和种类都呈爆炸式增长的形势。比如说,RDBM当初在设计时着眼于处理字母数字数据,处理非结构化数据时不是同样有效。
分片
随着数据库变得越来越庞大,处理起来也变得越来越困难。分片(sharding)是一种数据库分区技术,把数据库分成了更小、更容易管理的部分。具体来说,数据库被横向分区,以便单独管理数据库表中的不同行。
分片方法让庞大数据库的片段可以分布在多台服务器上,从而提高数据库的整体运行速度和性能。
另外,Sqoop是一种开源工具,用于将来自非Hadoop来源(如关系数据库)的数据转移到Hadoop环境。
文本分析
导致大数据问题的因素之一是,从推特和Facebook等社交媒体网站、外部新闻源,甚至公司内部收集而来以便分析的文本数量越来越多。由于文本是非结构化数据(不像通常存储在关系数据库中的结构化数据),主流的业务分析工具面对文本时常常束手无策。
文本分析采用了一系列方法(关键字搜索、统计分析法和语言研究法等),从基于文本的数据中获得洞察力。
非结构化数据
就在不久前,大部分数据还是结构化数据,这种字母数字信息(如来自销售交易的财务数据)很容易存储在关系数据库中,并由商业智能工具来分析。
但是如今共计2.7泽字节的存储数据中很大一部分是非结构化数据,比如基于文本的文档、推特消息、发布在Flickr上的照片、发布在YouTube上的视频,等等。(颇有意思的是,每分钟有长达35个小时的视频内容上传到YouTube。)处理、存储和分析所有这些凌乱的非结构化数据常常是如今的IT系统面临的难题。
可视化
随着数据量的增长,人们使用静态的图表和图形来理解数据越来越困难了。这就导致开发新一代的数据可视化和分析工具,能够以新的方式呈现数据,从而帮助人们理解海量信息。
这些工具包括:标以色码的热图,三维图形,显示一段时间内变化的动画可视化,以及在地理地图上覆盖数据的地理空间呈现。今天的先进数据可视化工具还具有更强的互动性,比如允许用户放大某个数据子集,进行更仔细的检查。
Whirr
Apache Whirr是一组Java类库,用于运行大数据云服务。更确切地说,它可以加快在亚马逊弹性计算云(EC2)和Rackspace等虚拟基础设施上开发Hadoop集群的过程。
XML
可扩展标记语言(XML)用来传输和存储数据(别与HTML混为一谈,后者用来显示数据)。借助XML,程序员们就可以创建通用的数据格式,并通过互联网共享信息和格式。
由于XML文档可能非常庞大、复杂,它们往往被认为导致IT部门面临大数据挑战。
尧字节
尧字节(yottabyte)是一种数据存储度量指标,相当于1000泽字节。据知名调研机构IDC公司估计,今年全球存储的数据总量预计将达到2.7泽字节,比2011年增长48%。所以,我们离达到尧字节这个大关还有很长一段路,不过从目前大数据的增长速度来看,那一天的到来可能比我们想象的要快。
顺便说一下,1泽字节相当于1021字节的数据。它相当于1000艾字节(EB)、100万拍字节(PB)和10亿太字节(TB)。
ZooKeeper
ZooKeeper是由Apache软件基金会创建的一项服务,旨在帮助Hadoop用户管理和协调跨分布式网络的Hadoop节点。
ZooKeeper与HBase紧密集成,而HBase是与Hadoop有关的数据库。ZooKeeper是一项集中式服务,用于维护配置信息、命名服务、分布式同步及其他群组服务。IT管理人员用它来实现可靠的消息传递机制、同步流程执行及实施冗余服务。
RDBMS是Relational Database Management System几个单词的缩写,翻译成中文就是“关系型数据库管理系统”,简称关系型数据库,所以RDBMS是关系型数据库的统称。RDBMS是当前最主流的数据库类型,世界上占有率排名前三的oracle,mysql,sql_server全部都属于RDBMS。
数据库分为关系型数据库和非关系型数据库,而关系型数据库往往是用RDBMS来表示,所以数据库与RDBMS就是一种父子关系。补充,非关系型数据库也有一个统称,叫Nosql
当初在传智播客学软件测试时候就学过。
关系数据库经过几十年的发展,已经非常成熟,但同时也存在不足:
表结构是强约束的,业务变更时扩充很麻烦。
如果对大数据量的表进行统计运算,I/O会很高,因为即使只针对某列进行运算,也需要将整行数据读入内存。
全文搜索只能使用 Like 进行整表扫描,性能非常低。
针对这些不足,产生了不同的 NoSQL 解决方案,在某些场景下比关系数据库更有优势,但同时也牺牲了某些特性,所以不能片面的迷信某种方案,应将其作为 SQL 的有利补充。
NoSQL != No SQL,而是:
NoSQL = Not Only SQL
典型的 NoSQL 方案分为4类:
Redis 是典型,其 value 是具体的数据结构,包括 string, hash, list, set, sorted set, bitmap, hyperloglog,常被称为数据结构服务器。
以 list 为例:
LPOP key 是移除并返回队列左边的第一个元素。
如果用关系数据库就比较麻烦了,需要操作:
Redis 的缺点主要体现在不支持完成的ACID事务,只能保证隔离性和一致性,无法保证原子性和持久性。
最大的特点是 no-schema,无需在使用前定义字段,读取一个不存在的字段也不会导致语法错误。
特点:
以电商为例,不同商品的属性差异很大,如冰箱和电脑,这种差异性在关系数据库中会有很大的麻烦,而使用文档数据库则非常方便。
文档数据库的主要缺点:
关系数据库是按行来存储的,列式数据库是按照列来存储数据。
按行存储的优势:
在某些场景下,这些优势就成为劣势了,例如,计算超重人员的数据,只需要读取体重这一列进行统计即可,但行式存储会将整行数据读取到内存中,很浪费。
而列式存储中,只需要读取体重这列的数据即可,I/O 将大大减少。
除了节省I/O,列式存储还有更高的压缩比,可以节省存储空间。普通行式数据库的压缩比在 3:1 到 5:1 左右,列式数据库在 8:1 到 30:1,因为单个列的数据相似度更高。
列式存储的随机写效率远低于行式存储,因为行式存储时同一行多个列都存储在连续空间中,而列式存储将不同列存储在不连续的空间。
一般将列式存储应用在离线大数据分析统计场景,因为这时主要针对部分列进行操作,而且数据写入后无须更新。
关系数据库通过索引进行快速查询,但在全文搜索的情景下,索引就不够了,因为:
假设有一个交友网站,信息表如下:
需要匹配性别、地点、语言列。
需要匹配性别、地点、爱好列。
实际搜索中,各种排列组合非常多,关系数据库很难支持。
全文搜索引擎是使用 倒排索引 技术,建立单词到文档的索引,例如上面的表信息建立倒排索引:
所以特别适合根据关键词来查询文档内容。
上面介绍了几种典型的NoSQL方案,及各自的适用场景和特点,您可以根据实际需求进行选择。
SQL是数据库软件,是英文Structured Query Language,结构化查询语言的缩写
有MY SQL,微软的SQL等