技术改变世界 阅读塑造人生! - shaogx.com

This string was altered by TechBlog\Plugins\Example.; This is an example to show the potential of an offcanvas layout pattern in Bootstrap. Try some responsive-range viewport sizes to see it in action.

《Big Data Glossary》笔记

  清明假期翻以前的笔记发现有一些NoSQL相关的内容,比较零散,是之前读《Big Data Glossary》的笔记.简单整理了一下,记录于此.Horizontal or Vertical Scaling数据库扩展的方向有两个:垂直扩展-换更牛的机器水平扩展-增加同样的机器 选择水平扩展必然遇到的一个问题就是,如何决定数据分布在哪台机器上? 也就是分片策略 分片Sharding数据比较平坦的分布在各个节点上,可以使用数字结尾的方式或者取余运算,但是一旦增加机器就要进行大规模的数据重排 要想消除数据分布之痛,就需要更复杂的数据分布schemes来切分数据.有些依赖于中心目录,它决定了key值对应的位置.当某个碎片增长过大的时候, 这种间接的指导允许数据在机器之间转移,这种做法的代价就是每一个操作都会去 中心目录里面去查询一下 目录信息通常非常小 也都是静态的 一般都会放在内存里面,偶尔变动一下另外一种方案就是一致性哈希consistent hashing.这种技术使用小表把可能用到的哈希值分范围.一个碎片对应一个值分片模型对我们的影响大数据的处理构建在水平扩展模型上,带来的问题就是海量数据的分布式处理,会在某些方面存在妥协Writing distributed data handling code is tricky and involves tradeoffs between speed, scalability, fault tolerance, and traditional database goals like atomicity and consistency.不仅仅这些,还有就是数据的使用方式也会有变化:数据不一定在同一物理机器上,取数据和数据运算都会成为新问题.NoSQLNoSQL真的没有Schema吗?  In theory, each record could contain a completely different set of named values,though in practice, the application layer often relies on an informal schema, with the client code expecting certain named values to be present.传统的K/V缓存,缺少对复杂情况的查询,NoSQL在纯K/V的基础上做的强化,把这种常用操作的实现职责从开发者转移到数据库. Hadoop is the best-known public system for running MapReduce algorithms, but many modern databases, such as MongoDB, also support it as an option. It’s worthwhile even in a fairly traditional system, since if you can write your query in a MapReduce form, you’ll be able to run it efficiently on as many machines as you have available. MongoDB  automatic sharding and MapReduce operations. 特点:类JOSN结构 javascript 优势:有商业公司支持 支持自动分片 MapReduce   CouchDB特点:查询使用js MapReduce 使用多版本的并发控制策略(客户端需要处理写冲突并要进行周期性的垃圾回收来移除旧数据) 缺点:没有内置水平扩展的解决方案 但有外部的解决方案 Cassandra  源自Facebook内部项目,成为标准的分布式数据库方案. 值得花时间学习这样一个复杂的系统以获得强大的功能和灵活性 Traditionally, it was a long struggle just to set up a working cluster, but as the project matures, that has become a lot easier. 一致性哈希解决碎片问题数据结构针对一致性写做了优化,代价是偶尔的读慢 特性:需要多少给节点一直才可以读/写 控制一致性等级,在一致性和速度之间做取舍 Redis Two features make Redis stand out: it keeps the entire database in RAM, and its values can be complex data structures.优势:处理复杂数据结构的能力你可以通过集群方式来处理海量数据但是目前,sharding都是通过客户端实现的.  BigTableBigTable is only available to developers outside Google as the foundation of the App Engine datastore. Despite that, as one of the pioneering alternative databases, it’s worth looking at. HBaseHBase was designed as an open source clone of Google’s BigTable, so unsurprisingly it has a very similar interface, and it relies on a clone of the Google File System called HDFS. HypertableHypertable is another open source clone of BigTable.  VoldemortAn open source clone of Amazon’s Dynamo database created by LinkedIn, Voldemort has a classic three-operation key/value interface, but with a sophisticated backend architecture to handle running on large distributed clusters.... 全文

big data nosql 数据库 mapreduce redis mongodb

可伸缩架构常用技术

可伸缩性架构常用技术——之数据切分(Data Sharding/Partition)1. 简介本来想写一篇可伸缩性架构方面的文章,发现东西太多了,久久未能下笔,这里首先把大家最关注的数据切分(Partition/Sharding)方面的内容先写完,给大家参考。 ... 全文

数据库 nosql数据库 hibernate 存储 mongodb 算法

关系型到文档型的跨越

1. 简介 在文档型NoSQL数据库出现之前,许多开发者一直绞尽脑汁思考,希望能想出更好的处理关系型数据库技术的方法,如今他们可能要跳出那种思维而另辟蹊径。本篇白皮书将介绍关系型数据库和分布式文档型数据库的区别以及在应用开发上的一些建议。2. 为什么要转变? 人们通常都不愿意改变,因为改变总是痛苦的,除非它能显著解决一些问题。随着大数据的发展,我们越来越有必要开始对数据模型做出转变了。换句话说,这种转变的需求愈发的强烈,因为大数据时代不管是对于数据库的扩展模型还是数据模型都要求极高的灵活性。 2.1 扩展模型... 全文

数据库 nosql 数据结构 大数据 高性能

Pentaho数据开源 移植Kettle项目到Apache

Pentaho开发商近日开源了部分数据集成软件,并将整个Kettle数据集成平台移植到Apache 2.0许可证下,以便从目前蓬勃发展的Hadoop和NoSQL业务中得到更多的份额,从而奠定其在大数据市场的地位。... 全文

nosql数据库 kettle 商业智能 apache pentaho

MongoDB复制集(Replication Sets)简介

    近年来,随着大数据越来越火,非关系型数据库的重要性被越来越多的人所认知,越来越多的开发者逐渐加入到NoSQL的阵营中。我们知道NoSQL是Not Only SQL的意思,既然如此,很多关系型数据库所支持的特性在非关系型数据中也是同样适用,比如复制集。    MongoDB是支持数据复制的,它在复制集方面的优势与其他数据复制集一样,它通过将数据部署在多个不同的服务器上,防止因单机故障而造成数据的丢失,借助数据冗余来提高数据的可靠性和安全性。而且还可以通过复制技术构建分布式数据库,提高系统的访问性能和安全性。    MongoDB的复制集模式是主从复制。在所有的数据库服务的机器中,只有一台机器担当Primary角色,其余的机器均是Secondaries。担当Primary角色的机器接收所有来自客户端的写(Write)操作请求,并完成该操作,从而保证了数据的一致性。担当Primary角色的机器还能够把来自客户端的读(Read)操作分配给其他机器(Secondaries),减轻主数据库服务器的压力。    那么MongoDB是如何完成各机器上数据的复制的呢?    原来,MongoDB的Primary数据库在每次对数据进行update操作时,都会将这些操作记录在oplog日志文件里。Secondaries数据库通过异步操作读取日志中的记录并在本地执行,生成数据来与Primary保持数据一致。    当Primary数据库不可用时,复制集会从Secondaries中选择一个机器作为Primary机器。默认情况下,客户端都是从Primary机器读取数据,但是客户端也可以指定从哪台副本上读取数据。    我们也可以配置一台仲裁机,仲裁并不管理复制集,它也不能成为Primary,它只是决定哪些副本集有权成为Primary。    以上就是MongoDB复制集(Replication Sets)的主要内容,如果您还有哪些地方不太理解,欢迎在评论中留言。... 全文

MongoDB NoSQL Replication Sets 复制集 数据库

如何成为云计算大数据Spark高手?

转载地址:http://bbs.csdn.net/topics/390811949Spark采用一个统一的技术堆栈解决了云计算大数据的如流处理、图技术、机器学习、NoSQL查询等方面的所有核心问题,具有完善的生态系统,这直接奠定了其一统云计算大数据领域的霸主地位;... 全文

云计算 大数据 spark nosql 高性能

微博短链接的生成算法(Java版本)

微博短链接的生成算法(Java 版本)... 全文

算法 java string 加密 nosql url

推荐一个电影网站 69影视   69996.cn

推荐一个电影网站 69影视 69996.cn本文出自 “柯小某” 博客,请务必保留此出处http://kexl908.blog.51cto.com/605006/1303561... 全文

hadoop mysql nosql nginx redis php

高性能nosql ledisdb设计与实现 (2):replication

ledisdb现在已经支持replication机制,为ledisdb的高可用做出了保障。使用假设master的ip为10.20.187.100,端口6380,slave的ip为10.20.187.101,端口为6380.首先我们需要master打开binlog支持,在配置文件中指定:... 全文

mysql redis leveldb binlog replication

Neo4j集群安装配置

Neo4j集群安装配置一、准备安装包及基础环境的准备1、  集群规划master 10.71.197.94 slaves-01 10.71.197.95 slaves-02 10.71.197.96 slaves-03 10.71.197.97 slaves-04 10.71.197.98 slaves-05 10.71.197.99 下载安装包... 全文

neo4j nosql数据库 图数据库 集群 安装

推荐一个电影网站 69影视   69996.cn

推荐一个电影网站 69影视 69996.cn本文出自 “柯小某” 博客,请务必保留此出处http://kexl908.blog.51cto.com/605006/1303536... 全文

hadoop mysql nosql nginx redis php

盘点2014:十家最酷的大数据创业公司

近年来,很少有IT细分市场可以像大数据市场一样吸引企业家的关注。如今,商业和消费者正在产生TB乃至PB级数据,大量公司也加大了研发,致力于收集、存储、管理、分析数据。以下是2014年大数据领域格外瞩目的十家新兴大数据创业公司1. Aerospike创始人和CTO:Brian Bulkowski... 全文

大数据 初创公司 Hadoop NoSQL

CentOS 6.5下安装mongodb 2.6.5

    Mongo DB是目前在IT行业非常流行的一种非关系型数据库(NoSql),其灵活的数据存储方式,备受当前IT从业人员的青睐。Mongo DB很好的实现了面向对象的思想,在Mongo DB中,每一条记录都是一个Document对象。Mongo DB最大的优势在于所有的数据持久操作都无需开发人员手动编写SQL语句,直接调用方法就可以轻松的实现CRUD操作。在这里介绍一下mongodb的安装方法:1、检查是否安装过mongodb,如已安装,则删除# rpm -qa | grep mongodb2、下载mongodb(下载到/doiido/soft)... 全文

linux centos nosql mongodb 数据库

搭建高可用mongodb集群(二)—— 副本

在上一篇文章《搭建高可用MongoDB集群(一)——配置MongoDB》 提到了几个问题还没有解决。主节点挂了能否自动切换连接?目前需要手工切换。主节点的读写压力过大如何解决?从节点每个上面的数据都是对数据库全量拷贝,从节点压力会不会过大?数据压力大到机器支撑不了的时候能否做到自动扩展? 这篇文章看完这些问题就可以搞定了。NoSQL的产生就是为了解决大数据量、高扩展性、高性能、灵活数据模型、高可用性。但是光通过主从模式的架构远远达不到上面几点,由此MongoDB设计了副本集和分片的功能。这篇文章主要介绍副本集:... 全文

mongodb nosql 仲裁 副本集 故障转移

搭建高可用mongodb集群(一)——配置mongodb

转自:搭建高可用mongodb集群(一)——配置mongodb   Posted on 17 十一月, 2013 by lanceyan 在大数据的时代,传统的关系型数据库要能更高的服务必须要解决高并发读写、海量数据高效存储、高可扩展性和高可用性这些难题。不过就是因为这些问题Nosql诞生了。 NOSQL有这些优势:... 全文

mongodb 集群 nosql数据库 业务流程

巨杉数据库王涛:分布式文档型数据库的优势

2013年11月22至23日,大数据领域的盛会,2013年Hadoop中国技术峰会在北京召开,来自国内外的技术专家齐聚一堂,来探讨大数据技术。51CTO记者在大会期间采访了SequoiaDB(巨杉数据库)CTO王涛,他向记者分享了分布式文档型数据库的概念与优势。... 全文

巨彬软件 NoSQL 文档型数据库

浅谈工作中使用过的几种数据库

       几年的工作下来,也使用过好几种数据库,准确点来说是“数据库管理系统”,有关系型数据库,也有NoSQL。 关系型数据库: 1.MySQL:开源,性能高,成本低,可靠性高(这些特性往往让他成为很多公司和项目的首选数据库),单拿大规模网站应用来说,我们熟知的如维基百科,Google,和Facebook都是采用的MySQL。但是目前Oracle对MySQL的收购也许会让我们对MySQL免费应用的前景产生一些担忧。 我的使用体验:MySQL安装很方便,几乎在下一步下一步过程中就完成了。而且针对MySQL的操作和管理有很多第三方插件支持,我用过的有“MySQL Query Browser”,“Navicat for MySQL”,“SQLyogEnt”个人感觉从使用体验和响应速度上SQLyogEnt更好。编程语言接口方面,MySQL几乎支持所有的主流编程语言,我个人用过纯C++的connector/c++,挺好用的,完全是按照JDBC的规范封装;java的JDBC,Hibernate;MFC的ODBC。 说几个工作中遇到的MySQL的小问题(潜规则),不了解时在开发中着实给自己带来了不少的困惑: (1)案例:在一个通讯服务器中写了个MySQL连接池,通过客户端的调用获取连接进行相应的数据库操作,有时候会发现这样一个问题,连接并不为空,但是进行数据库操作时却失败了,心中不免产生了大大的疑问,而且由于这种问题不好复现,所以没找到解决方案,最后经过阅读MySQL文档才发现了导致问题产生的原因:MySQL的有效连接如果在8小时之内没有任何数据库操作就会失效,靠空判断是判断不出来的,必须进行有效性判断,方法可以是随便进行个数据库操作看是否报错,针对连接池而言如果报错就舍弃这个无效连接,再创建一个新的有效连接放入连接池。 (2)案例:MySQL最大连接数。这么简单的问题?关于最大连接数大家都知道,MySQL一般默认支持的最大连接数是100,也就是说你已经创建了100个连接,再创建连接就会失败,是吧,大家都知道:)可是不知大家是否知道对于PreparedStatement 也有最大个数,不信你试试看,你去不断地创建PreparedStatement,当达到最大个数时,PreparedStatement 也会无效,不管此时你创建了几个数据库连接。  2.Microsoft SQL Server:以前的SQL Server适合于中小企业的数据库解决方案,但是随着新版本的推出,功能和性能的加强已经触及到大型企业的数据库管理。我新近才用过的是SQL Server 2005,对我有感触的一个新功能是”强化XML的处理能力,并新增本地的XML数据类型,以及支持原生XML数据类型的XML查询运算符“。但是从SQL Server的获得上来看,大家也知道,买正版是需要大量资金的,我想小公司一般不会考虑他吧。 我的使用体验:安装记不太清楚了,我只记得那时要安装一大堆组件,进行一系列配置,而且需要不小的磁盘空间,这从另一个侧面反映了SQL Server的”复杂“,所以如果MySQL就能满足你的开发需求,建议放弃SQL Server吧,而且从跨平台考虑来看,那就直接可以让他出局了。对于他的管理我使用的是微软自带的Management Studio,个人感觉挺好用的,第三方的有Navicat For SQL Server。在使用SQL Server时给我留下的印象比较深刻的一点:配合Visual studio的服务器资源管理器调试存储过程很爽。 3.SQLite:轻量级关系数据库,但是完全支持ACID(原子性, 一致性,隔离性, 持久性),适合应用于小型,单机的项目,其中有篇网络文章详细列举了SQLite的相关资料,有入门知识,社区,局限性介绍,感觉很好也很全,感兴趣的哥们可以看下http://blog.csdn.net/wangguang246/article/details/6090289。 我的使用体验:用过C++的CppSqlite(codeproject上有开源代码)封装,用过java的JDBC,用过QT的QSQLITE,都操作很简单,但在QT遇到一个问题,不支持数据库操作的异常处理?(反正我没发现),对SQLite考虑最多的局限性就是:不能做到面向表和行的锁定力度,而是数据库级的锁定力度,所以要并发读写是不行了。第三方插件操作管理SQLite我使用的是SQLite Expert Professional,感觉挺好用的。 NoSQL: mongoDB:开源的NoSQL数据库,用c++编写。以下引自开源中国社区:“MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。 它的特点是高性能、易部署、易使用,存储数据非常方便。主要功能特性有: 面向集合存储,易存储对象类型的数据。模式自由。 支持动态查询。 支持完全索引,包含内部对象。 支持查询。 支持复制和故障恢复。 使用高效的二进制数据存储,包括大型对象(如视频等)。 自动处理碎片,以支持云计算层次的扩展性 支持RUBY,PYTHON,JAVA,C++,PHP等多种语言。 文件存储格式为BSON(一种JSON的扩展) 可通过网络访问 所谓“面向集合”(Collenction-Orented),意思是数据被分组存储在数据集中,被称为一个集合(Collenction)。每个 集合在数据库中都有一个唯一的标识名,并且可以包含无限数目的文档。集合的概念类似关系型数据库(RDBMS)里的表(table),不同的是它不需要定 义任何模式(schema)。模式自由(schema-free),意味着对于存储在mongodb数据库中的文件,我们不需要知道它的任何结构定义。如果需要的话,你完全可以把不同结构的文件存储在同一个数据库里。存储在集合中的文档,被存储为键-值对的形式。键用于唯一标识一个文档,为字符串类型,而值则可以是各中复杂的文件类型。我们称这种存储形式为BSON(Binary Serialized dOcument Format)。MongoDB服务端可运行在Linux、Windows或OS X平台,支持32位和64位应用,默认端口为27017。推荐运行在64位平台,因为MongoDB在32位模式运行时支持的最大文件尺寸为2GB。”  我的使用体验:我们在项目中使用MongoDB主要是针对日志存储和读取,因为日志量很大,用传统的关系数据库效率太低,而MongoDB在效率方面的表现相当出色(主要是因为MongoDB采用内存映射的关系吧),对于重要的业务逻辑还是使用关系数据库,因为MongoDB不支持事务,而且有一些反馈说MongoDB经常会莫名其妙的丢失数据,所以我们针对并不十分重要的日志储存使用。还有一个问题,我们是使用服务启动的MongoDB的服务端,在此服务异常退出时,MongoDB服务端在下次也不能正常启动,这样就会导致丢失数据的现象,需要手动删除掉数据库目录下的一个锁文件,MongoDB才能正常启用。 以下是链接是MongoDB官网提供的对C++接口的的支持http://www.mongodb.org/pages/viewpage.action?pageId=133415, 如果你对json很了解,那么上手MongoDB一定会很快,对于java可以看以下链接”http://www.mongodb.org/display/DOCS/Java+Language+Center“,值得一提的是,依然有对ORM的支持morphia”http://code.google.com/p/morphia/wiki/QuickStart“。  本文出自 “永远的朋友” 博客,请务必保留此出处http://yaocoder.blog.51cto.com/2668309/776714... 全文

工作 NoSQL 数据库 关系数据库 休闲

大数据工具现状:砸钱太多、回报太少

Hadoop与NoSQL最近一段时间已经成为网络行家最为青睐的技术选择方案,但根据某位开发人员兼技术撰稿人的观点,许多企业在此类技术的投入方面“热情过高”——事实上优秀的在线SQL方案也完全能够达到同样的效果。... 全文

大数据 Hadoop NoSQL CIO大数据技术

1 2 3 4 5 6 7 8