惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园_首页
B
Blog RSS Feed
Microsoft Azure Blog
Microsoft Azure Blog
J
Java Code Geeks
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Google DeepMind News
Google DeepMind News
F
Fortinet All Blogs
V
V2EX
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Engineering at Meta
Engineering at Meta
月光博客
月光博客
阮一峰的网络日志
阮一峰的网络日志
M
MIT News - Artificial intelligence
IT之家
IT之家
博客园 - 【当耐特】
U
Unit 42
云风的 BLOG
云风的 BLOG
L
LangChain Blog
小众软件
小众软件
Microsoft Security Blog
Microsoft Security Blog
B
Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
宝玉的分享
宝玉的分享
N
Netflix TechBlog - Medium

博客园 - 雨中漫步的太阳

基于跨数据库的事务的一个讨论,希望参考下大家的意见 Wave帮助、技巧、术语集 从IBatis2.X 移植到IBatis3.0 sqlMapConfig and sqlMap XML 配置文件升级说明 - 雨中漫步的太阳 .NET正则基础——.NET正则类及方法应用[转载] 按钮单击ThickBox弹出窗口 推荐一款界面设计工具 Balsamiq Mockups jQuery.extend的用法 转载 qq2009 好像和金山词霸屏幕取词有冲突 错误 1 error C2664: 'TextOutW' : cannot convert parameter 4 from 'const char [5]' to 'LPCWSTR' 也发一个有道第二题的算法,练练脑子 使用commons-logging和log4j记录日志[转载] 动手改造Ibatis,使其支持文件系统存储数据列 之 看我如何给ResultMap增加属性 发一个 Window Live Writer 插件 SyntaxHighlight 代码样式 700万数据随机取10条仅用不到10ms? 动手改造Ibatis,使其支持文件系统存储数据列 之 源码下载编译和SqlMapConfig解析 IBAtisHelper 源代码放出,需要的下载吧 动手改造Ibatis,使其支持文件系统存储数据列 预览 Ibatis SelectKey iBatis resultMap groupBy属性使用心得[转载]
大家讨论下,结合文件系统,给数据库瘦身方案的可行性
雨中漫步的太阳 · 2009-04-16 · via 博客园 - 雨中漫步的太阳

通过文件系统给数据库瘦身,就是将数据库中的大数据,不参与搜索的数据通过文件流的方式序列化到硬盘的某个位置,存储位置使用hash路径,即通过数据库表主键生成hashcode 然后两两切分实现一个hash路径,保证一个目录下面的子文件和文件个数最多198个,保证了系统的检索速度.

这里的大数据举一个例子就是,比如公司表中,一般都有公司简介,但是公司简介这个列的内容量比这个整条数据的体积都大,而公司简介根本不参与搜索,列表等操作,我们就可以讲这个数据提出来,放到文件系统中,等需要的时候我们再把它读取出来,如果修改了就重新保存.

程序实现的目标和目的就是这样了.

由于公司使用Ibatis作为数据库层的处理框架,接下来的任务就是修改Ibatis源代码实现上述目标.

至于如何修改Ibatis,我会后续写文章来介绍. 这里我们先讨论下这个方案的可行性

为了一个更直接的印象,先看看具体的效果

 

数据库的字段 


这里可以看到 数据字段只有四个,比对象少了两个字段

那两个字段就会被存储到文件系统中

 


执行了插入操作,以下是日志文件

 

对应的文件系统中的文件

 

用二进制的方式打开这个文件可以看到


读取单条数据


读取结果


 虽然程序使用java写的,但是Ibatis也有.net版本基本应该差不多,而我更加喜欢博客园的活跃,就发到这里了 ,大家讨论下 这样做到底有没有好处