2.HBase In Action 第一章-HBase简介(1.1数据管理系统:快速学习)
Relational database systems have been around for a few decades and have been hugely successful in solving data storage, serving, and processing problems over the years. Several large companies have built their systems using relational database systems, online transactional systems, as well as back-end analytics applications.
关系数据库系统已经存在了几十年,在解决数据存储、服务和处理问题上都取得了巨大的成功。不少大公司都使用关系数据库建设了自己的信息系统,如在线交易系统以及后端分析应用程序。
Online transaction processing (OLTP) systems are used by applications to record transactional information in real time. They’re expected to return responses quickly, typically in milliseconds. For instance, the cash registers in retail stores record purchases and payments in real time as customers make them. Banks have large OLTP systems that they use to record transactions between users like transferring of funds and such. OLTP systems aren’t limited to money transactions. Web companies like LinkedIn also have such applications—for instance, when users connect with other users. The term transaction in OLTP refers to transactions in the context of databases, not financial transactions.
在线事务处理(OLTP)系统,是应用程序用来记录实时事务信息的。他们都是通常以毫秒为单位,迅速返回响应。例如,收银机在零售店实时地记录客户的购买记录和支付记录,就像客户所期待的那样工作。银行拥有庞大的OLTP系统,用于记录用户之间转移交易资金等。OLTP系统并不局限于金钱交易。像LinkedIn的网络公司也有这样应用系统,比如,用户与其他用户进行信息沟通。这里讲的OLTP事务是指数据库上下文中的事务,而不是金融交易中的事务。
Online analytical processing (OLAP) systems are used to answer analytical queries about the data stored in them. In the context of retailers, these would mean systems that generate daily, weekly, and monthly reports of sales and slice and dice the information to allow analysis of it from several different perspectives. OLAP falls in the domain of business intelligence, where data is explored, processed, and analyzed to glean information that could further be used to drive business decisions. For a company like LinkedIn, where the establishing of connections counts as transactions, analyzing the connectedness of the graph and generating reports on things like the number of average connections per user falls in the category of business intelligence; this kind of processing would likely be done using OLAP systems.
联机分析处理(OLAP)系统通常解决存储数据的分析查询问题。零售商的信息系统需要分析数据中的不同维度,来生成每日,每周和每月的销售报告,数据切片和多维数据立方体信息。OLAP定位于商业智能领域,进行探索数据,它处理,分析收集的信息可能会进一步被用来促进与支撑业务上的决策。像LinkedIn这样的公司,把用户的联系看作是交易,它会分用户析联系图的连通性,分析和生成报告之类的东西,如每个用户平均的联系人数量,这种事情就是属于商业智能的范畴,比较适合于使用OLAP系统来完成。
Relational databases, both open source and proprietary, have been successfully used at scale to solve both these kinds of use cases. This is clearly highlighted by the balance sheets of companies like Oracle, Vertica, Teradata, and others. Microsoft and
IBM have their share of the pie too. All such systems provide full ACID guarantees. Some scale better than others; some are open source, and others require you to pay steep licensing fees.
关系数据库,不管是开源还是公司专门拥有的,都已经成功地用于这两种类型的应用。这显然突出了像Oracle,Vertica,Teradata等等这样的大公司的资产负债表(呵呵,赚钱了嘛),微软和IBM也分得一杯羹。所有这些数据库系统都提供了完整的ACID特性。这些数据库系统当中,有一些是规模伸缩性比别人好,一些是开源的,还有一些需要你支付了高昂的许可费用的,反正各有千秋。
The internal design of relational databases is driven by relational math, and these systems require an up-front definition of schemas and types that the data will thereafter adhere to. Over time, SQL be came the standard way of interacting with these systems, and it has been widely used for several years. SQL is arguably a lot easier to write and takes far less time than coding up custom access code in programming languages. But it might not be the best way to express the access patterns in every situation, and that’s where issues like object-relational mismatch arose.
关系数据库的内部设计是以关系型数学运算为基础的,和这些系统需要一个预先定义的模型和明确的类型。随着时间的推移,SQL成为了与这些系统交互的标准方式,而且它已经广泛使用了好几年。SQL比编程语言,是更容易编写,花费更少的时间的。但它可能并不是解决每一种问题的最好实现模式,如,不适合对象关系不匹配的应用系统。
Any problem in computer science can be solved with a level of indirection. Solving problems like object-relational mismatch was no different and led to frameworks being built to alleviate the pain.
计算机科学中任何问题都可以通过增加一个间接层来解决。解决像对象关系不匹配的这种问题也是同样的,可以依靠一些框架来缓解这个问题。
For those who don’t know (or don’t remember), ACID is an acronym standing for atomicity, consistency, isolation, and durability. These are fundamental principles used to reason about data systems. See http:// en.wikipedia.org/wiki/ACID for an introduction.
如果你不知道不知道(或者不记得了),ACID是几个首字母缩写,代表原子性、一致性、隔离性和持久性。这些基本原则是用来判断数据系统的特性用的。具体介绍,请看 http:// en.wikipedia.org/wiki/ACID
2.HBase In Action 第一章-HBase简介(1.1数据管理系统:快速学习)的更多相关文章
- 1.HBase In Action 第一章-HBase简介(后续翻译中)
This chapter covers ■ The origins of Hadoop, HBase, and NoSQL ■ Common use cases for HBase ■ A basic ...
- 3.HBase In Action 第一章-HBase简介(1.1.1 大数据你好呀)
Let's take a closer look at the term Big Data. To be honest, it's become something of a loaded term, ...
- 8.HBase In Action 第一章-HBase简介(1.2.2 捕获增量数据)
Data often trickles in and is added to an existing data store for further usage, such as analytics, ...
- 7.HBase In Action 第一章-HBase简介(1.2.1 典型的网络搜索问题:Bigtable的起原)
Search is the act of locating information you care about: for example, searching for pages in a text ...
- 6.HBase In Action 第一章-HBase简介(1.2 HBase的使用场景和成功案例)
Sometimes the best way to understand a software product is to look at how it's used. The kinds of pr ...
- 5.HBase In Action 第一章-HBase简介(1.1.3 HBase的兴起)
Pretend that you're working on an open source project for searching the web by crawling websites and ...
- 4.HBase In Action 第一章-HBase简介(1.1.2 数据创新)
As we now know, many prominent internet companies, most notably Google, Amazon, Yahoo!, and Facebook ...
- 第一章 C++简介
第一章 C++简介 1.1 C++特点 C++融合了3种不同的编程方式:C语言代表的过程性语言,C++在C语言基础上添加的类代表的面向对象语言,C++模板支持的泛型编程. 1.2 C语言及其编程 ...
- python 教程 第一章、 简介
第一章. 简介 官方介绍: Python是一种简单易学,功能强大的编程语言,它有高效率的高层数据结构,简单而有效地实现面向对象编程.Python简洁的语法和对动态输入的支持,再加上解释性语言的本质,使 ...
随机推荐
- webpack打包优化并开启gzip
应用场景:项目使用webpack2.x进行打包,打包后静态资源通过nginx转发配置: 问题:webpack打包后的资源文件特别,特别大,没打包之前页面一个页面js有2M左右(其中已经抽离了css)? ...
- 【JVM】3、JVM问题查找
1.查看tomcat进程号 两种方式都可以查看tomcat进程号 ps -ef | grep tomcat-web jps -lmvV |grep tomcat-web 结果如下:2556 2.查看进 ...
- ubuntu16.04下安装mysql,并开启远程访问
一.安装 apt-get install mysql-server 二.本地连接 mysql默认开启了本地连接 直接通过mysql -uuser -p,然后输入密码访问 三.开启远程访问 3.1.创建 ...
- CodeForces822A
A. I'm bored with life time limit per test 1 second memory limit per test 256 megabytes input standa ...
- JNDI 与 LDAP
对于众多接口服务.协议.互联网名称,总会遇到感到熟悉,但是时间一长就会忘记,所以还是要自己整理一下,加强记忆,当然最好的方式还是动手实践. JNDI : 全称:JAVA NAMING AND Dire ...
- Geolocation API
Geolocation API--地理定位 navigator.geolocation getCurrentPosition() 触发请求用户共享地理定位信息的对话框 接收3个参数: 1.成功回调函数 ...
- js-权威指南学习笔记20
第二十章 客户端存储 1.客户端存储有一下几种形式:Web存储.cookie.IE userData.离线Web应用.Web数据库.文件系统API. 2.Web存储标准所描述的API包含localSt ...
- 关于通过ServletContext获取数据出现的http500的错误的解决方案
1.问题的简述 我创建了一个两个servlet以及一个jsp页面,假定给两个servlet分别命名(初始化数据servlet)和(数据处理servlet),jsp页面用于传递数据至数据处理servle ...
- EL表达式和标签
1.什么是EL expression language 表达式语言 特点: 语言简单,使用方便 .${表达式}. 提供自动类型转换的功能 如果返回结果为null时 String -- ”” Numbe ...
- Charles 模拟服务器挂掉Rewrite tools
1.点击相应请求 2.选择Rewrite 工具 3. 4. 5.保存 6.接下来就是重新发送请求了