当前位置: 首页 > 编程日记 > 正文

[导入]实时数据库的经典书

有个朋友给我来了一封邮件,在邮件中,他这样写到:“国外的实时数据库来势汹汹,价格一路上扬;想当初eDNA 2003年刚到中国时也就是二、三十万左右,现在报价已经百万以前了。心里也总个一个结,难道这个软件真有这么高技术含量吗?难道我们中国人就开发不了这种一个软件吗?......工作之余,这段时间我查阅了一些数据压缩原理方面的资料,我想实时数据库的关键技术也在于此。”

这位朋友有激情有思想,对实时数据库的发展有自己的见解,我非常高兴能与这样的朋友交流。这位朋友提出:实时数据库的关键技术是数据压缩技术。这个命题正确吗?

无独有偶,昨天去拜访一位朋友,这位朋友在国内一个很有名的公司工作,该公司也有自己的实时数据库产品,他便在该公司负责实时数据库的开发。我问他,以后准备如何改进该实时数据库产品,他说,他准备将该数据库的历史存贮性能进一步提高,该产品目前每秒钟只能存贮1万至2万条历史数据。

我在2003年第一次接触实时数据库,那时也认为实时数据库的关键技术是数据压缩技术。但是现在,我的想法有改变了。

如果不作深入的理论研究,只是研究如何实现一个实时数据库,则可选择的数据压缩算法并不是很多,也就那么三、四种:旋转门压缩、死区压缩、哈佛曼压缩,等等,这些算法,在书籍和网络上可以找到许多现成的算法描述,甚至可以找到源码,而这些源码,在整个实时数据库的实现框架中,只占有极少的部分。可以想象,如果一个压缩算法太复杂,则不可能满足速度和性能的要求。

我理解,实时数据库的关键技术,应该在于:如何设计一套简洁的内存、网络和文件数据组织结构,以及相应的算法,以实现对大量点数据的快速并发处理。

本来想展开这个话题,进行深入地讨论和分析,但考虑到公司产品的机密,有些话题现在还不能够讲得很透。只好退而求其次,推荐几本与实时数据库相关的经典书吧:

《事务处理:概念与技术》
http://www.china-pub.com/computers/common/info.asp?id=16602

《数据库与事务处理》
http://www.china-pub.com/computers/common/info.asp?id=25125

《分布式数据库系统原理(第2版)(英文影印版)》
http://www.china-pub.com/computers/common/info.asp?id=6441

讲到经典书,我的一个同事,列了一个C++编码的经典书书单:

<C++ primer>
<C++ 程序设计语言〉
<Thinking in C++>     
<C++ 编程规范>

====================================
<C陷阱和缺陷>          
<C和指针〉               
<C专家编程〉             
<Effective C++>          
<More Effective C++>    
<Exceptional C++>        
<More Exceptional C++>   
<Exceptional C++ Style>

====================================
<标准模板库〉            
<STL源码剖析〉          
<泛型编程与STL>         
<Effective STL>          
<C++ Standard Template Library>

====================================
<深入探索C++对象模型〉   
<设计模式>               
<C++ Template>           
<C++设计新思维>          
<深入浅出MFC>


文章来源:http://blog.gkong.com/more.asp?name=linkman&id=21953

转载于:https://www.cnblogs.com/linkman/archive/2007/06/24/820611.html

相关文章:

关于CSS(3)

盒子模型 盒子 盒子关系&#xff08;标准文档流&#xff09; 行内元素。 只可以设置左右外边距。 上下内边距会影响相邻的圆块状元素呢 垂直margin会合并(margin坍陷)元素嵌套的时候&#xff0c;设置子元素的上margin会被父元素抢走&#xff0c; 解决方案&#xff1a;设置父元素…

jMonkey Engine SDK3 中文乱码问题

1. 升级到了jMonkey Engine SDK 3之后出现了一些方框&#xff0c;乱码问题 官方推荐初学者使用jME3 SDK来开发游戏。官方下载地址为&#xff1a; https://github.com/jMonkeyEngine/sdk/releases 2. 问题分析和解决办法 在jME3.1.0之后SDK就有一个bug&#xff0c;菜单上的中文…

第四天上午 休闲假日

第四天晚上要离开沙巴&#xff0c;赶往吉隆坡了&#xff0c;所以这天的活动安排非常简单。 睡了一个舒服觉&#xff0c;起床吃早饭&#xff0c;我胃口还是不好&#xff0c;吃不下Magellan的美味早餐。早餐后我们来到酒店的游泳池旁休息&#xff0c;晒晒太阳、吹吹海风、看看风景…

expect--自动批量分发公钥脚本

1.在使用之前&#xff0c;先安装epel源&#xff0c;yum install expect -y2.写分发脚本&#xff0c;后缀为exp #!/usr/bin/expect set host_ip [lindex $argv 0] spawn ssh-copy-id -i /root/.ssh/id_rsa.pub $host_ip expect {-timeout 60"(yes/no)?" { send "…

java报错MalformedURLException: unknown protocol: c

java报错&#xff1a;MalformedURLException: unknown protocol: c 1. 报错情况&#xff1a; 部分代码&#xff1a; //打开图片path"C:/Users/MyUser/image.jpg" openPictrues(path);public void openPictures(String path,String picName) throws IOException {F…

3.commonjs模块

1.首先建一个math.js exports.add function(a, b){return a b; } exports.sub function(a, b){return a - b; } exports.mul function(a, b){return a * b; } 2.然后建一个app.js 引人math.js var math require(./math); console.log(math);//{ add: [Function], sub: [Fu…

推荐一个关于.NET平台数据结构和算法的好项目

http://www.codeplex.com/NGenerics这是一个类库&#xff0c;它提供了标准的.NET框架没有实现的通用的数据结构和算法。值得大家研究。转载于:https://www.cnblogs.com/didasoft/archive/2007/07/05/806758.html

JSF和Struts的区别概述

据说JSF的主要负责人就是struts的主要作者&#xff0c;所以二者的相似点还是有很多的。 都采用taglib来处理表示层&#xff1a;在jsp页面中&#xff0c;二者都是采用一套标记库来处理页面的表示和model层的交互。 二者都采用了bean来作为和jsp页面对应的model层。该model层保存…

This和Super关键字的对比

this和Super关键字this和Super关键字的对比Super关键字的用法如下&#xff1a;1. super关键字代表了父类空间的引用&#xff1b;2. super关键字的作用&#xff1a;3. super关键字调用父类构造方法要注意的事项&#xff1a;this关键字的用法如下&#xff1a;1.了解没有 this 关键…

SQL Server 2005下的分页SQL

其实基本上有三种方法&#xff1a;1、使用SQL Server 2005中新增的ROW_NUMBER几种写法分别如下&#xff1a; 1SELECTTOP20*FROM(SELECT2ROW_NUMBER() OVER(ORDERBYNamec) ASRowNumber,3*4FROM5dbo.mem_member) _myResults6WHERE7RowNumber >1000081SELECT*FROM(SELECT2ROW_N…

Oozie 配合 sqoop hive 实现数据分析输出到 mysql

文件/RDBMS -> flume/sqoop -> HDFS -> Hive -> HDFS -> Sqoop -> RDBMS 其中&#xff0c;本文实现了 使用 sqoop 从 RDBMS 中读取数据(非Oozie实现&#xff0c;具体错误将在本文最后说明)从 Hive 处理数据存储到 HDFS使用 sqoop 将 HDFS 存储到 RDBMS 中 1.…

关于eclipse的注释和反注释的快捷键

使用eclipse那么久了额&#xff0c;对注释和反注释的快捷键一直很模糊&#xff0c;现在记下来&#xff0c;方便查看。 注释和反注释有两种方式。如对下面这段代码片段&#xff08;①&#xff09;进行注释&#xff1a; private String value; private String count; public voi…

DNN和IBatis.Net几乎同时发布新版本

DotNetNuke发布了最新的版本4.5.0&#xff0c;确实让人期待了很久&#xff0c;据说这个版本在性能上有很大的提升。 IBatis.NET几乎在同一时间也发布了新版本DataMapper 1.6.1&#xff0c;也有不少的改进。 项目中使用到的这两个东西几乎同时发布新版本&#xff0c;振奋人心啊&…

Unity 2D物体移动

一&#xff0c;设置 二&#xff0c;脚本 1&#xff0c;PlayerController using System.Collections; using System.Collections.Generic; using UnityEngine;public class PlayerController : MonoBehaviour {private Rigidbody2D m_rg;public float MoveSpeed;public float J…

朱敏:40岁创业如何成就绝代明星?(五)

来源 中国企业家 东方元素是网讯内涵里不可忽视的一部分 如果有机会拜访网讯的美国总部&#xff0c;你会发现这是 一家带着醒目美国特色IT公司&#xff0c;很难说出它与其他 硅谷公司的不同。但在你视野所不能及的地方&#xff0c;朱敏 与苏布拉在驾驭它的方式中输入…

print、printf、println在Java中的使用

print、printf、println在Java中的使用 文章目录print、printf、println在Java中的使用一、println在JAVA中常常使用System.out.pirntf()&#xff1b;的输出格式。二、print在JAVA中常常使用System.out.pirnt();的输出格式。三、printf在JAVA中常常使用System.out.printf();的格…

(转) SpringBoot非官方教程 | 第二篇:Spring Boot配置文件详解

springboot采纳了建立生产就绪spring应用程序的观点。 Spring Boot优先于配置的惯例&#xff0c;旨在让您尽快启动和运行。在一般情况下&#xff0c;我们不需要做太多的配置就能够让spring boot正常运行。在一些特殊的情况下&#xff0c;我们需要做修改一些配置&#xff0c;或者…

iexpress全力打造“免检”***

IExpress小档案出身:Microsoft功能:专用于制作各种 CAB 压缩与自解压缩包的工具。由于是Windows自带的程序&#xff0c;所以制作出来的安装包具有很好的兼容性。它可以帮助***传播者制造不被杀毒软件查杀的自解压包&#xff0c;而且一般情况下还可伪装成某个系统软件的补丁(如I…

java 稀疏数组和二维数组转换,并保存稀疏数组到文件后可以读取

稀疏数组和二维数组转换 稀疏数组&#xff1a;当一个数组中大部分元素为0&#xff0c;或者为同一个值的数组时&#xff0c;可以使用稀疏数组来保存该数组 稀疏数组的处理方法&#xff1a; 记录数组一共有多少行&#xff0c;有多少个不同的值把具有不同值得元素的行列及值记录在…

springboot redis配置

1、引入maven依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId> </dependency> 2、redis连接配置 spring:redis:host: 10.220.1.41port: 6379timeout: 10000passwor…

C# 根据节点索引访问XML配置文件

查了一些&#xff0c;都是根据XML属性来访问指定节点&#xff0c;我这想根据节点索引来访问XML 首先上XML样式 1 <?xml version"1.0" encoding"utf-8" ?> 2 <FeatureClasses> 3 <FeatureClass name "t_room"></Feat…

ASP.NET DEMO 14: 如何在 GridView/DataGrid 模板列中使用自动回发的 CheckBox/DropDownList

有时候希望在 GridView 模板中使用自动回发的 CheckBox &#xff08;autopostbacktrue) &#xff0c;但是 CheckBox 没有 CommandName 属性&#xff0c;因此也就无法在 GridView.RowCommand 事件中处理&#xff0c;并且如何获取当前 GridView 行信息呢&#xff1f;我们可以选择…

BI.寒号鸟请吃烧烤/意外入手“speed- dear friends vol.1”/入手“鲍家街43号”/我爱红红/我爱红红...

先说&#xff0c;昨天下午&#xff0c;在逛完西北政法的乐图后&#xff0c;辗转到了高新区&#xff0c;见到了在经典论坛认识的热情的热心的热烈的寒号鸟兄弟&#xff0c;而notus本人则感动的热泪盈眶&#xff0c;想不到在遥远的西安&#xff0c;都有人惦记着我 T_T附上我们的合…

数据结构----单链表增删改查

单链表的增删改查 一、链表&#xff08;Linked List&#xff09; 链表是有序列表&#xff0c;以节点的方式来存储的&#xff0c;链式存储&#xff1b;每个节点包含data域&#xff0c;next域&#xff1a;指向下一节点&#xff1b;链表的各个节点不一定是连续存储&#xff1b;链…

Using NUnit with Visual Studio 2005 Express Editions

允许通过Build Toolbar选择"Debug" or "Relese"设置"工具" -> "选项..." -> 选择"显示所有设置" -> "项目和解决方案" ->选择"显示高级生成配置" 在VS2k5 Express工程中使用NUnit-GUI测试&…

代理上网环境下配置TortoiseCVS

以NASA Wind World为例&#xff0c;SF上的提示如下&#xff1a; http://sourceforge.net/cvs/?group_id69528 Anonymous CVS Access This projects SourceForge.net CVS repository can be checked out through anonymous (pserver) CVS with the following instruction set.…

ucos-iii串口用信号量及环形队列中断发送,用内建消息队列中断接收

串口发送部分代码&#xff1a; //通过信号量的方法发送数据 void usart1SendData(CPU_INT08U ch) {OS_ERR err;CPU_INT08U isTheFirstCh;OSSemPend(&Usart1Sem, 0, OS_OPT_PEND_BLOCKING, NULL, &err);//阻塞型等待串口发送资源OSSemPend(&Usart1TxBufSem, 0, OS_O…

几款自用的IDEA高效插件

idea几款自用的高效小插件1、CodeGlance2、Translation3、Rainbow Brackets4、Statistic5、Markdown Navigator6、MarkDown Navigator1、CodeGlance CodeGlance是一款非常好用的代码地图插件&#xff0c;可以在代码编辑区的右侧生成一个竖向可拖动的代码缩略区&#xff0c;可以…

CSS中position属性( absolute | relative | static | fixed )详解

我们先来看看CSS3 Api中对position属性的相关定义&#xff1a; static&#xff1a;无特殊定位&#xff0c;对象遵循正常文档流。top&#xff0c;right&#xff0c;bottom&#xff0c;left等属性不会被应用。 relative&#xff1a;对象遵循正常文档流&#xff0c;但将依据top&am…

ASP.NET 2.0 ajax中gridView的刷新问题!

我是一个经常使用ASP.NET2.0的开发人员,最近看了ajax课程,也想使用一下Ajax这个强大的技术,我就使用了,在一个UpdatePanel中放入了一个gridView,果然能达我的满意效果,设置了gridView中的分页,相应的代码我都已经写好了.唯一的问题是当我点击了第二页的时候,我再点击刷新,当前页…