您现在的位置:首页
--> 风轻扬
今早Amazon发布了DynamoDB,作为AWS服务的新成员,提升了AWS管理结构化数据的能力。总体来说,DynamoDB是基于Amazon Dynamo技术实现的可伸缩性和可用性优异的NoSQL数据库托管服务。我们知道,Amazon搞了一个很牛的KV数据库Dynamo,可伸缩性、可用性和性能稳定性非常好。但Dynamo推出后并没有在Amazon内部被广泛接纳,主要原因是Dynamo是作为软件系统提供给开发者,要用得部署各自的Dynamo集群,安装管理成本很高。后来Amazon推出了...
Hadoop++是对Hadoop Map Reduce的非入侵式优化,通过自定义Hadoop框架中的split等函数来提升,提升查询和联接性能。 项目由德国Saarland大学Jens Dittrich教授主持。项目主页是 http://infosys.uni-saarland.de/hadoop++.php。Hadoop++对Hadoop的优化主要是Trojan Index、Trojan Join和Trojan Layout三方面。1、Trojan Index Trojan index的核心是将数据组织成依次由数据、索引、Header和Footer这四部分构成的split,其中Foot...
4年前SimpleDB刚推出的时候我写了一篇日志《一条腿的Amazon SimpleDB路难行》,是说SimpleDB当时还不支持排序,功能严重残缺。现在SimpleDB早已支持排序了,而且从那之后也加了很多功能。这几天在看AWS,顺便把SimpleDB再记录一下。一、数据模型数据分为多个domain,domain包含多个item,每个item包含多个属性/值对,值可以是一个集合,每个单值都是字符串类型。domain类似于表,item类似于行。无固定模式。没有Version的概念。不...
若以2006年3月13日Amazon发布S3服务开始计算,AWS已经有5年半了。经过这么多年的工程与应用,现在AWS的基础设施功能已经相当丰富,能满足构建超大互联网应用的大多数需求,提供的开发工具、文档、社区和支持也还不错。AWS的服务简述如下:一、基础设施服务AWS共提供14类28项服务,大致可分为计算、存储、应用架构、特定应用、管理这五大类:1、计算类服务EC2:虚拟机实例,有标准型、大内存、高运算能力、带10G网络的HPC、GPU等多...
近日Oracle提供了不久前公布的NoSQL数据库的下载,目前只有企业版,开源的社区版还没提供,也就是说还看不到源码。不过根据文档也能大致了解这个NoSQL数据库怎么样。快速看了看,总结如下。一、数据模型key包含一到多个major key component和零到多个minor key component,组合起来唯一标准一条记录。key component为Java String,按对应encoding排序。value则是字节流。key和value的大小都没有严格限制。记录还有版本号,每次更新...
Clustrix的Sierra数据库集群引擎是一个share-nothing架构的可伸缩关系数据库集群。官方宣传的非常诱人,说是功能像集中式关系数据库一样强大,可伸缩性超强,不需要规划什么数据分区,可用性也非常高。简直是集SQL和NoSQL的优点于一身。据说最近阿里云的RDS服务很可能是基于这个,因此仔细去了解了一下,发现架构上属于软硬一体化的路子,感觉架构上还是有些问题,对硬件的要求也不低。Sierra前端采用MySQL协议,但本身跟MySQL没有...
盛大推出云计算服务,看起来想做类似于Amazon AWS的IaaS。看了一下,结构化数据管理的功能很弱,只有最简单的Key-Value服务,只有GET/PUT/DEL,没有条件更新没有锁,没有扫描,这让我觉得很不靠谱。结构化数据管理是99.9%的应用都需要的,而基于盛大云这样简单Key-Value来开发应用是很麻烦的事。比如:1、如果把多个实体属性拼起来,没法索引,效率也不高;如果分开,那经常得用很多个GET;2、没有索引和扫描,各种数据列表都不容...
这两年来,随着NoSQL系统、CAP理论和Eventual Consistency的大热,关于分布式操作要保证强一致还是弱一致性的讨论络驿不绝。双方各执一词,倾向实现强一致性的一方认为弱一致性满足不了应用开发的需要,倾向实现弱一致性的一方则认为保证强一致性将导致系统性能与可伸缩性难以接受。弱一致性能否满足应用开发的需求这一点由应用特征决定,难以一概而论,但强一致性对系统性能、可伸缩性和可用性的影响则是可以作技术分析的。奇怪的...
对SSD一种常见的认识是随机读、顺序读、顺序写都很快,但随机写很慢。从很多目前公布的产品性能指标数据和测试结果看,确实如此。一般SSD小块随机读性能可以达到几万甚至过十万,但小块随机写性能则一般只有3-5千,相差一个数量级。我认为这一认识不完全正确。SSD是一个很复杂的硬件,也还在不断改进,各代产品的性能表现往往有很大差异,针对不同的IO操作模式,SSD的性能表现可能有非常大的差异,它的性能表现决不能用“三快一慢...
随机IO几乎是令所有DBA谈虎色变的一个问题,这个问题,往往在数据量小的时候不出现,在数据量超过内存大小时,才陡然出现,令没有经验的DBA促不及防,也令有经验的DBA寝食难安。传统的数据库架构对随机IO几乎没有还手之力。传统数据库的核心通常是页级缓存、B+树、堆或索引组织表,这些机制,对随机IO的抵抗能力,都无一例外的可悲的差。页级缓存有很强的“连坐”效应,就是为了要缓存一条有价值的记录,顺带可能要同时缓存百条无...
之前用过rsync很多次,只知道可以做差异同步也没研究过原理。所谓差异同步是指只通过传输两文件的差异部分将两文件同步到一致,自己取的称谓,不知道学术术语是什么。差异同步算法中最有名的就是rsync系列了。近来研究Dropbox,想看看它的同步怎么做的,没找到官方资料,不过据推测应该用的就是rsync,于是,看看鼎鼎大名的rsync是怎么实现的吧。rsync算法要解决的问题很简单:A和B两个文件在两台服务器中,要将A同步到与B一致,要...
要判断一个程序员是不是好的程序员,主要看他写的代码,因为程序员最重要的事是写代码。即便不去理解代码的意图,只要看一眼,好的程序员写的代码与差的程序员写的代码基本上就可以看出来。好的程序员写的代码,整洁而规范,视觉上自然有一种美感。空白错落有致,注释恰到好处,命名和排版遵守统一的规范。差的程序员写的代码则经常出现过长的函数,前后不一致的命名方式和排版,过深的嵌套结构,非常复杂的表达式,随处可见的数字...
GAE Datastore是Google App Engine提供的(半)结构化数据存储系统,基于Google大名鼎鼎的Bigtable技术构建。一、数据模型GAE Datastore的数据模型与关系模型有很大的相似性,但是无模式的。GAE Datastore的接口主要是ORM风格的,一个类,称为kind,与关系数据库中的表类似。一个kind中的数据为多个entity,每个entity有唯一的key标识。每个entity可有多个property,一个property可用多个value。这与关系模型有类似的地方,但GAE D...
多版本并发控制技术被很多数据库或存储引擎采用,如Oracle,MS SQL Server 2005+, PostgreSQL, Firebird, InnoDB, Falcon, PBXT, Maria等等。新的数据库存储引擎,几乎毫无例外的使用多版本而不是单版本加锁的方法实现并发控制,可以说多版本已经成为未来的发展趋势。虽然都是多版本,但不同的系统的实现却有很大不同。在开源数据库领域最负盛名的两个系统PostgreSQL和InnoDB的多版本实现就可谓有天壤之别。
有谁试过一张表上有50个索引,嗯,我不怎么敢。但有时有些应用的搜索条件就是很复杂,比如说有一类应用,姑且称之为多维度分类排行榜吧。这类应用的共同特征是对一个集合需要应用多种条件组合进行过滤,过滤后可能还要按某种指标进行排序。举几个例子吧:1. 像网易拍拍一样的相册精华区,过滤条件非常多,如可以指定一级分类(如风景)、二级分类(如云南)、三级分类(如香格里拉),可以指定城市,可以指定是不是推荐的,还可以...
前两天写用skip list实现实时排名,搞得挺复杂,显得挺有学问的。嘿嘿,其实没必要搞那么复杂,对于博客这种积分取值范围很小(在较长一段时期内可能都只在0-10000之间)的,只需要用一个数组记录每个分值有多少人就够了,计算排名的时候只要对这个数组做下遍历,代价小很多了。初步的实现呢,只需要用以下的一张数据库表可能就行了。CREATE TABLE BlogScoreSummary ( Score INT, -- 分值 Count INT, -- 积分为这一分值的人数 IDX ...
博客有积分了,根据积分要排名了,有人希望这个排名是实时的吗?可能会有的吧,这样就可以发一篇文章,马上看下我的排名上升了多少位,由于用博客的人多,可能会发现写一篇文章,就有几万个人被抛在身后,或者原来排名是Top 3.27%,写篇文章后就变成Top 3.16%了,这等感觉多爽啊,我想至少对晓文哥这种试图通过狂发test日志赶上名博的人是有吸引力的吧。问题是,怎么实现实时排名呢,对于有超过一亿用户,每天登录也有好几百万的博...
• 引用 KISS
留言的这个例子太好了,不得不引胡晓文(男,已婚) 的 KISS昨天看了好几个方案,思路都挺好的,但是,有存在一个明细的问题,太繁琐了,功能一大堆,都不知道猴年马月才能实现所有这些功能。“KISS”是"Keep it Simple, Stupid"的缩写,用在产品方案的策划上太合适不过了,功能的堆砌可能也是种创新,但操作性真是有点差。早上看Google Reader Share,陈博先生又Share了我之前Share过的一篇文章《创业的三点感悟》,并且加上了自...
引用Guru 的 马化腾在腾讯产品峰会上关于产品设计和开发的内部讲座背景:pony是公司的首席体验官、首席产品经理。这次在产品峰会上pony将自己平时经验的积累与大家交流,体验较细。这次分享研发管理部,设计中心整理了些材料。主要的案例是qqmail和qq影音的内容。以此为demo来讲解。pony的讲解主要分为三大部分:产品设计、产品运营、交互设计。 在开场首先提到,互联网同类产品竞争激烈,只有抓住用户的心才能持续走下去。产品要...
Infobright是一个列存数据仓库软件,可以与MySQL集成,作为MySQL的一个存储引擎来使用(后面将会看到这是个非同一般的存储引擎)。主要的技术优势有:1. 高压缩比,通常是10:1,某些应用可能达到40:12. 无需事先做好物理设计规则,不需要建索引,不需要数据分区,对ad-hoc分析型查询执行性能非常高3. 数据装载非常快这些技术优势是如何实现的呢,这两天看了Infobright的白皮书和VLDB论文,大概有所了解。
[ 共21篇文章 ][ 第1页/共2页 ][ 1 ][ 2 ]
近3天十大热文
- [52] IOS安全–浅谈关于IOS加固的几种方法
- [51] android 开发入门
- [50] 如何拿下简短的域名
- [48] 图书馆的世界纪录
- [48] Oracle MTS模式下 进程地址与会话信
- [46] 【社会化设计】自我(self)部分――欢迎区
- [46] Go Reflect 性能
- [43] 读书笔记-壹百度:百度十年千倍的29条法则
- [37] 视觉调整-设计师 vs. 逻辑
- [34] 程序员技术练级攻略
赞助商广告