精华内容
下载资源
问答
  • Cassandra概要介绍

    2017-10-04 21:41:55
    随着互联网大规模的Web2.0应用的兴起云计算需要的大规模分布式服务和分布式存储的发展,传统的关系数据库面临着诸多全新的挑战,特别是在那些超大规模和高并发的SNS类型应用场景下,使用关系数据库来存储和查询...
    1. 前言
    

    随着互联网大规模的Web2.0应用的兴起及云计算需要的大规模分布式服务和分布式存储的发展,传统的关系数据库面临着诸多全新的挑战,特别是在那些超大规模和高并发的SNS类型的应用场景下,使用关系数据库来存储和查询用户动态数据已经显得力不从心,暴露了很多难以克服的问题,例如需要很高的实时插入性能;需要海量的数据存储能力同时还需要非常快的查询检索速度;需要将数据存储无缝扩展到整个群集环境下,并且能够在线扩展等等。在这样的背景下,NoSQL数据库就应运而生了。

    CAP,BASE和最终一致性是NoSQL数据库存在的三大基石。

    • C: Consistency 一致性

    • A: Availability 可用性(指的是快速获取数据)

    • P: Tolerance of network Partition 分区容忍性(分布式)

    10年前,Eric Brewer教授指出了著名的CAP理论,后来Seth Gilbert 和 Nancy lynch两人证明了CAP理论的正确性。CAP理论告诉我们,一个分布式系统不可能满足一致性,可用性和分区容错性这三个需求,最多只能同时满足两个。

    BASE模型反ACID模型,完全不同ACID模型,牺牲高一致性,获得可用性或可靠性: BasicallyAvailable基本可用。支持分区失败(e.g. sharding碎片划分数据库) Soft state软状态状态可以有一段时间不同步,异步。 Eventually consistent最终一致,最终数据是一致的就可以了,而不是时时一致。

    2. Cassandra是什么

    Cassandra 的名称来源于希腊神话,是特洛伊的一位悲剧性的女先知的名字,因此项目的Logo是一只放光的眼睛。

    Cassandra是一个高可靠的大规模分布式存储系统。高度可伸缩的、一致的、分布式的结构化key-value存储方案,集Google BigTable的数据模型与Amazon Dynamo的完全分布式的架构于一身。2007由facebook开发,2009年成为Apache的孵化项目。

    Cassandra使用了Google BigTable的数据模型,与面向行的传统的关系型数据库不同,这是一种面向列的数据库,列被组织成为列族(Column Family),在数据库中增加一列非常方便。对于搜索和一般的结构化数据存储,这个结构足够丰富和有效。

    Cassandra的系统架构与Dynamo一脉相承,是基于O(1)DHT(分布式哈希表)的完全P2P架构,与传统的基于Sharding的数据库集群相比,Cassandra可以几乎无缝地加入或删除节点,非常适于对于节点规模变化比较快的应用场景。

    Cassandra的数据会写入多个节点,来保证数据的可靠性,在一致性、可用性和网络分区耐受能力(CAP)的折衷问题上,Cassandra比较灵活,用户在读取时可以指定要求所有副本一致(高一致性)、读到一个副本即可(高可用性)或是通过选举来确认多数副本一致即可(折衷)。这样,Cassandra可以适用于有节点、网络失效,以及多数据中心的场景。

    3. Cassandra特点

    总结Cassandra的主要特点如下:

    (1) 列表数据结构

    在混合模式可以将超级列添加到5维的分布式Key-Value存储系统。

    (2) 模式灵活

    使用Cassandra,你不必提前解决记录中的字段。你可以在系统运行时随意的添加或移除字段。

    (3) 真正的可扩展性

    Cassandra是纯粹意义上的水平扩展。为给集群添加更多容量,可以增加动态添加节点即可。你不必重启任何进程,改变应用查询,或手动迁移任何数据。

    (4) 多数据中心识别

    你可以调整节点布局来避免某一个数据中心起火,一个备用的数据中心将至少有每条记录的完全复制。

    (5) 范围查询

    如果你不喜欢全部的键值查询,则可以设置键的范围来查询。

    (6) 分布式写操作

    你以在任何地方任何时间集中读或写任何数据。并且不会有任何单点失败。

    4. 与类似系统比较

    Hadoop HBase

    Hadoop HBase是Apache Hadoop项目的一个子项目,是Google BigTable的一个克隆,与Cassandra一样,它们都使用了BigTable的列族式的数据模型,两者的主要不同在于:

    (1) Cassandra只有一种节点,而HBase有多种不同角色,又架构在Hadoop底层平台之上,部署上Cassandra更简单;

    (2) Cassandra的数据一致性策略是可配置的;

    (3) HBase提供了Cassandra没有的行锁机制,Cassandra要想使用锁需要配合其他系统,如Hadoop Zookeeper;

    (4) HBase提供更好的MapReduce并行计算支持,Cassandra在0.6版本也提供了这个功能;

    (5) Cassandra的读写性能和可扩展性更好,但不擅长区间扫描。

    5. Cassandra系列文章

    (1) Cassandra概要介绍: http://dongxicheng.org/nosql/cassandra-intro/

    (2) Cassandra部署与安装: http://dongxicheng.org/nosql/cassandra-install/

    (3) Cassandra数据模型: http://dongxicheng.org/nosql/cassandra-data-model/

    (4) Cassandra中实现SQL操作: http://dongxicheng.org/nosql/cassandra-sql/

    (5) Cassandra客户端: http://dongxicheng.org/nosql/cassandra-client/

    (6) Cassandra的各种策略: http://dongxicheng.org/nosql/cassandra-strategy/

    6. 参考资料

    (1) HBase vs Cassandra: 我们迁移系统的原因(译). Dominic Williams. 2010-02-24.

    (2) Yahoo! Cloud Serving Benchmark. Brian F. Cooper. 2010-03-31.

    (3) http://zh.wikipedia.org/wiki/Cassandra

    (4) 颜开:NoSQL数据库笔谈l

    (5) 淘宝,文茂,Cassandra架构与应用

    原创文章,转载请注明: 转载自董的博客

    本文链接地址: http://dongxicheng.org/nosql/cassandra-intro/

    展开全文
  • 10.1.1 对象/关系数据库映射(ORM) 365 10.1.2 JPA的映射规则 367 10.1.3 JPA规范简介 368 10.2 实体入门 368 10.2.1 开发实体 369 10.2.2 在Java SE环境下使用 Hibernate JPA实现 370 10.2.3 在Java SE环境下使用 ...
  • Cassandra 入门介绍

    2017-02-10 15:35:57
    1. 前言随着互联网大规模的Web2.0应用的兴起云计算需要的大规模分布式服务和分布式存储的发展,传统的关系数据库面临着诸多全新的挑战,特别是在那些超大规模和高并发的SNS类型应用场景下,使用关系数据库来...

    1. 前言

    随着互联网大规模的Web2.0应用的兴起及云计算需要的大规模分布式服务和分布式存储的发展,传统的关系数据库面临着诸多全新的挑战,特别是在那些超大规模和高并发的SNS类型的应用场景下,使用关系数据库来存储和查询用户动态数据已经显得力不从心,暴露了很多难以克服的问题,例如需要很高的实时插入性能;需要海量的数据存储能力同时还需要非常快的查询检索速度;需要将数据存储无缝扩展到整个群集环境下,并且能够在线扩展等等。在这样的背景下,NoSQL数据库就应运而生了。

    CAP,BASE和最终一致性是NoSQL数据库存在的三大基石。

    • C: Consistency 一致性

    • A: Availability 可用性(指的是快速获取数据)

    • P: Tolerance of network Partition 分区容忍性(分布式)

    10年前,Eric Brewer教授指出了著名的CAP理论,后来Seth Gilbert 和 Nancy lynch两人证明了CAP理论的正确性。CAP理论告诉我们,一个分布式系统不可能满足一致性,可用性和分区容错性这三个需求,最多只能同时满足两个。

    BASE模型反ACID模型,完全不同ACID模型,牺牲高一致性,获得可用性或可靠性: BasicallyAvailable基本可用。支持分区失败(e.g. sharding碎片划分数据库) Soft state软状态状态可以有一段时间不同步,异步。 Eventually consistent最终一致,最终数据是一致的就可以了,而不是时时一致。

    2. Cassandra是什么

    Cassandra 的名称来源于希腊神话,是特洛伊的一位悲剧性的女先知的名字,因此项目的Logo是一只放光的眼睛。

    Cassandra是一个高可靠的大规模分布式存储系统。高度可伸缩的、一致的、分布式的结构化key-value存储方案,集Google BigTable的数据模型与Amazon Dynamo的完全分布式的架构于一身。2007由facebook开发,2009年成为Apache的孵化项目。

    Cassandra使用了Google BigTable的数据模型,与面向行的传统的关系型数据库不同,这是一种面向列的数据库,列被组织成为列族(Column Family),在数据库中增加一列非常方便。对于搜索和一般的结构化数据存储,这个结构足够丰富和有效。

    Cassandra的系统架构与Dynamo一脉相承,是基于O(1)DHT(分布式哈希表)的完全P2P架构,与传统的基于Sharding的数据库集群相比,Cassandra可以几乎无缝地加入或删除节点,非常适于对于节点规模变化比较快的应用场景。

    Cassandra的数据会写入多个节点,来保证数据的可靠性,在一致性、可用性和网络分区耐受能力(CAP)的折衷问题上,Cassandra比较灵活,用户在读取时可以指定要求所有副本一致(高一致性)、读到一个副本即可(高可用性)或是通过选举来确认多数副本一致即可(折衷)。这样,Cassandra可以适用于有节点、网络失效,以及多数据中心的场景。

    3. Cassandra特点

    总结Cassandra的主要特点如下:

    (1) 列表数据结构

    在混合模式可以将超级列添加到5维的分布式Key-Value存储系统。

    (2) 模式灵活

    使用Cassandra,你不必提前解决记录中的字段。你可以在系统运行时随意的添加或移除字段。

    (3) 真正的可扩展性

    Cassandra是纯粹意义上的水平扩展。为给集群添加更多容量,可以增加动态添加节点即可。你不必重启任何进程,改变应用查询,或手动迁移任何数据。

    (4) 多数据中心识别

    你可以调整节点布局来避免某一个数据中心起火,一个备用的数据中心将至少有每条记录的完全复制。

    (5) 范围查询

    如果你不喜欢全部的键值查询,则可以设置键的范围来查询。

    (6) 分布式写操作

    你以在任何地方任何时间集中读或写任何数据。并且不会有任何单点失败。

    4. 与类似系统比较

    Hadoop Hbase

    Hadoop HBase是Apache Hadoop项目的一个子项目,是Google BigTable的一个克隆,与Cassandra一样,它们都使用了BigTable的列族式的数据模型,两者的主要不同在于:

    (1) Cassandra只有一种节点,而HBase有多种不同角色,又架构在Hadoop底层平台之上,部署上Cassandra更简单;

    (2) Cassandra的数据一致性策略是可配置的;

    (3) HBase提供了Cassandra没有的行锁机制,Cassandra要想使用锁需要配合其他系统,如Hadoop Zookeeper;

    (4) HBase提供更好的MapReduce并行计算支持,Cassandra在0.6版本也提供了这个功能;

    (5) Cassandra的读写性能和可扩展性更好,但不擅长区间扫描。

     

    展开全文
  • 和传统的 t-sql书籍不同,本书以独特的 “技巧 ”形式来介绍知识点,涵盖了数据处理(增删改、视图、索引、存储过程、触发器等)、数据应用(web服务、 clr集成、分布式查询等)和数据库配置(主体、安全、数据库...
  • 事务处理原理 第2版

    热门讨论 2012-12-30 10:49:38
    《事务处理原理(第2版)》为从事于应用程序开发、产品评估、系统设计、数据库管理和产品工程化等工作的各类人员提供了清晰、简明的指导。可帮助读者理解事务处理系统的内部情况,并描述了它们的工作原理以及如何...
  • 软件工程教程

    2012-07-06 23:10:29
    应用计算机科学、数学管理科学等原理,以工程化的原则和方法来解决软件问题,指导计算机软件开发和维护的一门工程学科。  软件工程的原则 任务2 软件生命周期与软件开发模型 软件生命周期 软件开发模型 ...
  • Spring面试题

    2015-05-06 07:19:39
    它支持各种关系数据库,从一对一到多对多的各种复杂关系。 2. Hibernate是如何延迟加载? 1. Hibernate2延迟加载实现:a)实体对象 b)集合(Collection) 2. Hibernate3 提供了属性的延迟加载功能 当Hibernate在...
  • 12.2 应用场景498 12.2.1 员工组织图499 12.2.2 材料清单(BOM)500 12.2.3 道路系统503 12.3 迭代/递归506 12.3.1 下属506 12.3.2 祖先514 12.3.3 带有路径枚举的子图/子树517 12.3.4 排序519 12.3.5 环521 12.4 ...
  • 7.2 Web Service的应用场景 278 7.3 创建简单的Web Service项目应用 280 7.4 Web Service属性介绍 282 7.5 ASP.NET如何调用Web Service 286 7.6 JavaScript如何调用Web Service 288 7.6.1 通过webbehavior.htc调用...
  • 深刻理解设计模式及应用场景者加分; 7. 具有较强的问题分析和处理能力、比较强的动手能力,对技术有强烈追求者优先考虑; 8. 对高并发、高稳定可用性、高性能、大数据处理有过实际项目及产品经验者优先考虑; 9...
  • 考试系统应用场景还挺多的,不论是对于在校大学生还是已经工作的小伙伴,并且,类似的私活也有很多。相关阅读:《好一个 Spring Boot 开源在线考试系统!解决了我的燃眉之急》 。 PassJava-Platform :一个基于...
  • Phoenix重磅 | Phoenix(云HBase SQL)核心功能原理及应用场景介绍 HBase解读 | 阿里云HBase SQL(Phoenix)服务深度解读 BigData NoSQL:ApsaraDB HBase数据存储与分析平台概览 Apache Sqoop: 是一个用来将Hadoop...
  • 基础33 ElasticSearch 手动建立和修改mapping 定制string类型数据是否分词 基础34 ElasticSearch mapping复杂数据类型以及object类型数据 基础35 ElasticSearch search api的基础语法 基础36 Elastic...
  • 有近20年使用Oracle技术产品以及Oracle数据库管理员/Oracle数据库应用管理员的经验,是真正应用集群、性能调优以及数据库内部属性方面的专家。同时是一位演讲家Oracle ACE。  JARED STILL 从1994年就开始使用...
  • awesome-cpp 就是 fffaraz 发起维护的 C++ 资源列表,内容包括:标准库、Web应用框架、人工智能、数据库、图片处理、机器学习、日志、代码分析等。 中文版由开源前哨和CPP开发者微信公号团队维护更新,在 GitHub 已...
  • 有近20年使用Oracle技术产品以及Oracle数据库管理员/Oracle数据库应用管理员的经验,是真正应用集群、性能调优以及数据库内部属性方面的专家。同时是一位演讲家Oracle ACE。  JARED STILL 从1994年就开始使用...
  • Sqlite 一款轻型的数据库,是遵守ACID的关系数据库管理系统,它包含在一个相对小的C库中 W3C 万维网联盟,创建于1994年,是Web技术领域最具权威和影响力的国际中立性技术标准机构。主要的工作是发展 Web 规范,...
  • 涵盖使用Spring Boot 进行Java EE 开发的绝大数应用场景,包含:Web 开发、数据访问、安全控制、批处理、异步消息、系统集成、开发与部署、应用监控、分布式系统开发等。 第一部分 点睛Spring 4.x 第1 章 Spring ...
  • 涵盖使用Spring Boot 进行Java EE 开发的绝大数应用场景,包含:Web 开发、数据访问、安全控制、批处理、异步消息、系统集成、开发与部署、应用监控、分布式系统开发等。 第一部分 点睛Spring 4.x 第1 章 Spring ...
  • # ModelScene: 模型处理的场景类型,目前只支持分类场景 [Classification] # - 目前只支持 “图像分类” 这一种场景. Model: ModelName: {ModelName} ModelField: {ModelField} ModelScene: {ModelScene} # ...
  • 互斥锁、自旋锁、读写锁、悲观锁、乐观锁的应用场景 2w字 + 40张图带你参透并发编程! 【面试】如果把线程当作一个人来对待,所有问题都瞬间明白了 Java 并发进阶常见面试题总结 如果你这样回答“什么是线程安全”,...
  • 基于深度学习的中文语音识别系统、笑声检测器、Microsoft多语言数字/单位/如日期时间识别包、中华新华字典数据库及api(包括常用歇后语、成语、词语和汉字)、文档图谱自动生成、SpaCy 中文模型、Common Voice语音识别...
  • 熟悉基于Mysql关系数据库设计和开发、对数据库性能优化有丰富的经验; 熟悉底层中间件、分布式技术(如RPC框架、缓存、消息系统等); 大数据/数据仓库 技能要求: 熟悉Hadoop/Spark/sqoop/hive/impala/azkaban...
  • 本书以其翔实知识面的覆盖、大量实用的示例和作者自身丰富的编程经验,阐述了从C语言编程基础、C++面向对象语法、MFC类库、控件高级应用、进程和线程到异常处理等各个方面的诀窍,是一本系统而全面的编程经典图书...
  • 本书以其翔实知识面的覆盖、大量实用的示例和作者自身丰富的编程经验,阐述了从C语言编程基础、C++面向对象语法、MFC类库、控件高级应用、进程和线程到异常处理等各个方面的诀窍,是一本系统而全面的编程经典图书...
  • 本书以其翔实知识面的覆盖、大量实用的示例和作者自身丰富的编程经验,阐述了从C语言编程基础、C++面向对象语法、MFC类库、控件高级应用、进程和线程到异常处理等各个方面的诀窍,是一本系统而全面的编程经典图书...
  • 本书以其翔实知识面的覆盖、大量实用的示例和作者自身丰富的编程经验,阐述了从C语言编程基础、C++面向对象语法、MFC类库、控件高级应用、进程和线程到异常处理等各个方面的诀窍,是一本系统而全面的编程经典图书...

空空如也

空空如也

1 2
收藏数 37
精华内容 14
关键字:

无关系数据库类型及应用场景