- 博客(51)
- 资源 (16)
- 收藏
- 关注
海量数据存储之动态Schema的传说
简介众所周知,对于海量数据的schema修改是一个极其昂贵的代价,MySQL分表的很大原因其实就有500w数据一个表,DDL会比较快。一般来说,动态schema是指的非固定表结构,schema字段(有时也指索引)的增删对于正常的读写没有任何影响。一般有两个方向的表现形式: Online Schema ChangeSchema-Free NoSQL中一般采用后者,而关...
2011-04-26 13:06:14
682
海量数据存储之存储设计(二)
本节重点讲述数据的Durability(可靠性),纵然CAP理论中的三个关键点(Consistent, Available, Partition-Tolerant )无法达成一致,A和P目前来看变化不太多,可能变化比较多的是在C上,将一致性模型的文章毫无疑问首推Amazon CTO:Werner Vogels的两篇文章:Eventually ConsistentEventually Co...
2011-03-13 17:58:21
1092
海量数据存储之存储设计(一)
相关文章推荐:海量数据存储之Key-Value存储简介海里数据存储之存储设计(二)Je的排版真的让人难过......从本文开始着重讲解存储细节,思路比较飘逸,观者多包涵。翻译了一篇Redis作者antirez的文章做为本文的切入点,翻译得不好,这部分可以大致一览,后面会有分析。Append Only和Reuse Blocks的一些区别对于一颗app...
2011-03-06 13:51:17
1638
海量数据存储之新存储设备性能优化
本文主要讲述NoSQL在Flash设备上的可以选择的其中一种优化策略,并粗略提了一下SSD设备的特性。对Flash设备的性能优化,微软曾经做过一份paper,但是里面很多东西比较局限:比如paper中将SSD作为了写入的buffer,而众所周知,写性能不会是任何一款NoSQL的瓶颈;比如SSD的索引采用了Hash的数据结构,这样在进行cache evict的时候,粒度的控制也很有问题。本文对其...
2011-01-04 19:50:47
341
Berkeley DB Java Edition存储文件格式概述
Bdb je的底层存储格式是Log-Structured File System,即就像写日志那样append only,并且其日志和数据是存在一起不分开的。因此bdb的存储格式是面向entry的,一个entry或代表一个record,或代表一条日志等等。从源码分析,bdb的entry总共有几十种之多,根据不同的配置使用不同的entry。代码结构是这样的: ...
2010-12-13 17:21:00
342
HBase存储文件格式概述
概述HBase是基于Bigtable论文的面向列的分布式存储系统,其存储设计是基于Memtable/SSTable的。其它如Cassandra都是采用的该设计。整个存储分为两部分,一部分为内存中的MemStore(Memtable),另外一部分为磁盘(这里是HDFS)上的HFile(SSTable)。下面分别讲述两种类型的存储分别的实现:MemStore中最重要的变量是:volat...
2010-11-29 19:36:02
374
海量数据存储之Key-Value存储简介
Key-value存储简介具备高可靠性及可扩展性的海量数据存储对互联网公司来说是一个巨大的挑战,传统的数据库往往很难满足该需求,并且很多时候对于特定的系统绝大部分的检索都是基于主键的的查询,在这种情况下使用关系型数据库将使得效率低下,并且扩展也将成为未来很大的难题。在这样的情况下,使用Key-value存储将会是一个很好的选择。它被广泛应用于缓存,搜索引擎等等领域。 ...
2010-08-23 12:48:14
1069
Scaling Solr(Solr的扩展)
关于Solr可以参考之前的博客或者百度一下。这里主要讲Solr的扩展,包括横向,纵向,以及深度扩展。 Javaeye的排版有问题,将就看吧Solr的扩展(Scaling) 当你的索引数量越来越大,你会发现你的搜索响应时间变得更慢,索引新内容的时间也会越来越长,那么,到了做出一些改变的时候了,幸运的是,solr很好的考虑到了这些情况,你只需要改变你的配置...
2010-07-12 19:47:22
209
原创 技术选型
技术选型2.1. 基础架构IOC Container: Spring, Guice我们需要IOC Container的依赖注入作为胶水,把其他工具包粘在一起。还需要它的AOP,进行事务配置,权限管理。这么多人都在使用Spring,实际使用中可以获得巨大的便利,如果选择了其他平台就要面临在关键时刻自己造轮子的窘境。使用...
2010-06-30 15:33:29
237
分享两个cqon beijing 2010的slide
Big Data in Real-Time at Twitter:http://www.slideshare.net/nkallen/q-con-3770885Build scalable microblog qcon beijing 2010:http://www.slideshare.net/iso1600/build-scalable-microblog-qcon-beijing-201...
2010-06-10 10:10:22
225
使用Spring和Hibernate框架操作数据库水平分区
翻译了几年前的一篇文章,思想很不错。http://www.jroller.com/kenwdelong/entry/horizontal_database_partitioning_with_spring简介 大约在一年以前,我决定水平扩展我们的数据库。在我们的数据库中我们拥有数百万的用户,我们期望我们的用户为我们的网站生成更多的内容,同时我们将收集更多的用户行为。我们已经...
2010-06-08 22:41:08
301
原创 Scale-up and Scale-out
转载自:http://www.cnblogs.com/spork/archive/2009/12/29/1634766.html来自原小站,曾经迷糊过的东西,表上来,希望对正在迷糊或即将迷糊的人有帮助。 谈到系统的可伸缩性,Scale-up(纵向扩展)和Scale-out(横向扩展)是两个常见的术语,对于初学者来说,很容易搞迷糊这两个概念,这里总结了一些把概念解释的比较清楚的内容。 ...
2010-06-03 16:25:04
151
原创 一致性哈希(Consistent Hashing)
转载自:http://hi.baidu.com/fdwm_lx/blog/item/fe46344e11517705b3de054c.html在大型web应用中,缓存可算是当今的一个标准开发配置了。在大 规模的缓存应用中,应运而生了分布式缓存系统。分布式缓存系统的基本原理,大家也有所耳闻。key-value如何均匀的分散到集群中?说到此,最常规的 方式莫过于hash取模的方式。比如集群中可用机...
2010-05-25 21:30:09
196
Zookeeper ZNode操作
Zookeeper API中包如下:org.apache.zookeeper org.apache.zookeeper.data org.apache.zookeeper.server org.apache.zookeeper.server.quorum org.apache.zookeeper.server.upgrade其中开发者比较常用的包都集中在前两个包中关于ZooKee...
2010-05-13 16:51:40
248
原创 Java 深拷贝
java里的clone分为: A:浅复制(浅克隆): 浅复制仅仅复制所考虑的对象,而不复制它所引用的对象。 b:深复制(深克隆):深复制把要复制的对象所引用的对象都复制了一遍。 Java中对象的克隆,为了获取对象的一份拷贝,我们可以利用Object类的clone()方法。必须要遵循下面三点 1.在派生类中覆盖基类的clone()方法,并声明为public【Object类中的clone()方法为...
2010-05-12 19:29:32
171
Eclipse插件开发打包为Update Site
Eclipse插件开发打包为Update Site1. 假设你的插件已经开发完毕,剩下打包了,请在此之前确认以下事项;程序中需要加入的第三方Jar包,不能自己在 Build Path 中手动加入, 必须使用下面的方法. 其他的第三方 Jar 包 (包括 Classpath) Runtime -> Classpath -> Add(New) ...
2010-05-11 20:56:49
399
原创 eclipse中plugin与feature的区别
转载自:http://blog.sina.com.cn/s/blog_3ee5fa930100091m.html[plug-in 的基本结构]每一个plug-in都用一个目录包起来, 而且起目录名也是有讲究的,比如plug-in的名字叫edu.sjtu.bbs.eclipse,版本是1.0.0, 那这个目录名就是edu.sjtu.bbs.eclipse_1.0.0.而且随便打开...
2010-05-11 19:13:58
457
Spring集成Xfire
转载自:http://blog.youkuaiyun.com/cb_121/archive/2008/06/13/2543657.aspx概述XFire是与Axis 2并列的新一代Web Service框架,通过提供简单的API支持Web Service各项标准协议,帮助你方便快速地开发Web Service应用。XFixe内建在STAX的基础上之上,STAX是基于流的XML解析引擎,这使得XFi...
2010-05-04 19:40:47
203
Eclipse插件Lazy Start实现原理分析
转载自:http://www.pin5i.com/showtopic-19933.html每次提到有关Eclipse插件启动的问题的时候,脑子中自然的反应就是:可以设定为预先启动(org.eclipse.ui.startup),否则默认的情况下是懒启动(Lazy Start),只有当插件中的功能被真正调用的时候,插件才会被启动。可能是人也跟着变懒了,也一直没有去留心Eclipse底层是怎...
2010-04-30 16:24:49
425
Zookeeper入门(一)
转自:http://blog.sina.com.cn/s/blog_62a9902f0100gozu.html下面我以ubuntu 9.10环境为例进行部署Zookeeper1.1安装前准备1.Java6 环境要求安装如果用Zookeeper在windows条件下运行,应该安装Cygwin.2.在hhtp://hadoop.apache.org/zookeeper/r...
2010-04-28 09:58:51
202
Solr data import 中XML/HTTP 数据源的使用
参考自:http://wiki.apache.org/solr/DataImportHandlerDataImportHandler 可以通过datasource数据源索引来自于HTTP的数据。包括REST/XML和RSS/ATOM 。在版本1.4中,推荐使用URLDataSource。配置示例如下:<dataSource name="b" type="HttpD...
2010-04-22 13:57:57
144
使用Solr Data Import的delta-import功能
Solr提供了full-import和delta-import两种导入方式,这篇文章主要讲解后者。所谓delta-import主要是对于数据库(也可能是文件等等)中增加或者被修改的字段进行导入。主要原理是利用率每次我们进行import的时候在solr.home\conf下面生成的dataimport.properties文件,此文件里面有最近一次导入的相关信息。这个文件如下:1. #...
2010-04-21 17:22:44
722
Solr Data Import 快速入门
版权信息: 可以任意转载, 转载时请务必以超链接形式标明文章原文出处, 即下面的声明. 原文出处:http://blog.chenlb.com/2010/03/solr-data-import-quick-start.html大概在 solr 1.3 刚出来的时候(2008 年底)就用过 DataImportHandler(DIH),当时觉得很方便的。后来由于有好多限制,...
2010-04-21 16:49:30
173
你是个软件架构师吗?
转载自:http://www.infoq.com/cn/articles/brown-are-you-a-software-architect;jsessionid=A4A3B3D552F9DB2FAF7FC2D991FC74F0编者按: 本文作者 Simon Brown ,在三月的QCon London上发表了同样主题的演讲《Software Architecture for Deve...
2010-04-20 18:27:58
128
写在开始工作的第一周
今天是入职第一周末,这一周持续的进行着外界称为洗脑的培训,累,晚上几乎不能在9点以前回到家,躺在床上除了身体的疲惫就是在想怎么融入这个陌生的城市,外界所谈论的房子,老婆,等等困惑着我的心。。。或多或少听说了关于这家公司的一些东西,对于未来有了那么一些信心,同时也迫切的希望尽快工作,争取早日达到自己的梦想,做一个优秀的架构师。一周了,最大的感受就是,你在一个公司是否有发展前途,不一定...
2010-03-07 19:54:43
176
原创 zz与一名写了10万行代码本科生的交流
本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/bitfan/archive/2010/01/30/5272385.aspx 与一名写了10万行代码本科生的交流 金旭亮 我在《与学生谈“考试”与“编程”》一文的回贴中,...
2010-02-01 20:09:55
236
一个本科毕业生的Java学习之路
找完工作了,offer不大不小,还算满意,我将我的学习经验写下,希望给后来人一些启发,更希望Java能够长盛不衰。如有谬误请见谅 声明: 我是一个普通本科生 以下仅个人见解,如有反对意见,勿人肉我 觉得写代码是软件工程师中混得最锉的人请绕过 觉得Java就是用来做网站的请绕过 觉得SSH就是*鸟的同学...
2009-12-11 20:48:51
156
原创 解密淘宝网的开源架构-曾宪杰_淘宝网平台架构部架构师
淘宝网,是一个在线商品数量突破一亿,日均成交额超过两亿元人民币,注册用户接近八千万的大型电子商务网站,是亚洲最大的购物网站。那么对于淘宝网这样大规模的一个网站,我猜想大家一定会非常关心整个网站都采用了什么样的技术、产品和架构,也会很想了解在淘宝网中是否采用了开源的软件或者是完全采用的商业软件。那么下面我就简单的介绍一下淘宝网中应用的开源软件。 对于规模稍大的网站来说,其IT必然是一个服务...
2009-12-08 20:53:47
165
原创 缓存漫谈
转自http://www.blogjava.net/BlueDavy/archive/2006/06/02/50076.html缓存是在提升系统响应时常用的一种技术,在我之前的blog中也提及过好几次这部分的技术,今天还是想从缓存涉及的一些方面再次的去谈谈,在系统缓存上通常采用的是有页面缓存、处理缓存和数据缓存这三种具体的类别,应该说这三种缓存在实现上还是稍有不同,尽管底层的缓存实现是...
2009-12-07 18:49:18
91
原创 大数据量,海量数据 处理方法总结
最近有点忙,稍微空闲下来,发篇总结贴。 大数据量的问题是很多面试笔试中经常出现的问题,比如baidu google 腾讯 这样的一些涉及到海量数据的公司经常会问到。 下面的方法是我对海量数据的处理方法进行了一个一般性的总结,当然这些方法可能并不能完全覆盖所有的问题,但是这样的一些方法也基本可以处理绝大多数遇到的问题。下面的一些问题基本直接来源于公司的面试笔试题目,方法不一定最优,如...
2009-11-26 21:00:57
140
原创 WEB服务器性能瓶颈分析
转自:http://www.it.oaod.com/PcTech-34683.html 本文先介绍一下各种WEB服务器平台,然后对影响WEB服务器性能的各方面做了分析,最后解析了目前使用最普遍的Apache服务器在服务请求高峰时的响应延迟现象 在上周的一篇文章里,我们介绍了搭建WEB服务器的方法,但这只是建立WEB服务器的第一步,在实际的站点运行中,也许服务器的性能表现会不尽如...
2009-10-09 10:36:01
691
原创 Hibernate最佳实践
设计细颗粒度的持久类并且使用来实现映射。 使用一个Address持久类来封装 street, suburb, state, postcode. 这将有利于代码重用和简化代码重构(refactoring)的工作。 对持久类声明标识符属性( identifier properties)。 Hibernate中标识符属性是可选的,不过有很多原因来说明你应该使用标识符属性。我们建议标识符应...
2009-09-26 16:50:34
154
原创 编写对GC友好,又不泄漏的代码
作者:江南白衣,最新版链接:[url=http://blog.youkuaiyun.com/calvinxiu/archive/2007/05/22/1621051.aspx]http://blog.youkuaiyun.com/calvinxiu/archive/2007/05/22/1621051.aspx[/url],版权所有,转载请保留原文链接。 看到JavaOne2007上有篇《Garbage-...
2009-09-24 10:33:40
140
java集合的线程安全问题
1.转载自:http://www.gzu521.com/campus/article/program/200704/145222.htmJava代码 vector是一种老的动态数组,是线程同步的,效率很低,一般不赞成使用。 五、线程安全类 在集合框架中,有些类是线程安全的,这些都是jdk1.1中的出现的。在jdk1.2之后,就出现许许多多非线程安全的类。 ...
2009-08-19 21:39:00
212
数据库联合查询的思考
转自:巴士飞扬-技术BLOG : http://www.busfly.cn/昨天晚上和网友讨论了一个关于数据库联合查询的效率的问题.说实话,以前我一直没怎么考虑过这个问题,在写SQL时,都没怎么考虑,似乎一切都成了习惯,或者已经懒散贯了,但是,网友和我聊起来了,我也就好好考虑起这个问题了,平时不考虑时不知道,真正好好计较一下,才发现还有很多门道.假设我们有三个表,A表,B表,C表.其数据量...
2009-08-10 11:21:00
167
Tomcat配置Https访问
1.让tomcat能使用https A.在运行命令JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA -keystore C:\Tomcat\GMAE3.0Tomcat\tomcat.keystore 这样就生成了证书,将证书放到合适的地方(任意地方都可以) B.打开tomcat目录下的server.xml文件并找到关于ssl的相...
2009-08-03 14:08:00
242
JDBC调用oracle存储过程
好久不用java调用存储过程的系统了,今天被别人给问住了。。。晕的很。。。下面是自己的一些总结: 创建需要的测试表:create table Test(tid varchar2(10),tname varchar2(10));第一种情况:无返回值. create or replace procedure test_a(param1 in varchar2,param2 in varchar2)...
2009-07-29 09:52:00
140
使用Oracle instant sqlplus连接远程数据库
网上说的很复杂,其实根本不用那么复杂。你只要在cmd下面敲sqlplus /nolog然后回车输入用户名/密码@数据库服务器IP:端口/数据库名即可
2009-07-28 21:57:00
117
不选择使用lucene的6大原因
Lucene是开放源代码的全文搜索引擎工具包,凭借着其强劲的搜索功能和简单易用的实现,在国内已经很普及,甚至一度出现了言搜索必称Lucene的盛景。上个月Lucene的开发团队发布了 Java Lucene 2.3.1 ,相信很多朋友们都用上了。在国内对Lucene的介绍可以分为3块儿: 第一类是:以车东 的Lucene:基于Java的全文检索引擎简介 为代表的基础入门介绍; 第二类是Luce...
2009-07-28 20:28:00
233
Hibernate 二级缓存的问题
这是一篇javaeye上万人景仰的文章hibernate的session提供了一级缓存,每个session,对同一个id进行两次load,不会发送两条sql给数据库,但是session关闭的时候,一级缓存就失效了。 二级缓存是SessionFactory级别的全局缓存,它底下可以使用不同的缓存类库,比如ehcache、oscache等,需要设置hibernate.cache.provide...
2009-07-28 20:18:00
149
hibernate shards中文文档
2009-08-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人