随笔分类 -  数据库实现

如果分类标题所说。这个分类记载的是实现一个简单的数据库系统中的碰到问题,解决的办法和思路的文章集合。通过这些文章的撰写,保留一份过程的记录,为想法的回溯提供帮助。
摘要:http://www.cececs.csulb.edu/~monge/classes/share/B+TreeIndexes.html 阅读全文
posted @ 2012-08-20 09:59 惡盈好謙 阅读(118) 评论(0) 推荐(0) 编辑
摘要:从上面的两篇完全可以看出,Linux下的io端口事件编程涉及到的内容非常少,而Windows的是多么的复杂。我从事接口这个工作很久了,主要是数据库的接口,以我的工作经验看,简单而且返回稳定明确的接口对于用户编程是非常重要的。用户可以通过自己的情况进行不同的组合,从而达到满足自己的要求,且不浪费任何功能。当然,这对编程者的要求很高,而且接口的提供者要提供非常详细和准确的文档(如果接口设计的简单而明了的话,文档同样不会太难编写)。 阅读全文
posted @ 2012-07-04 09:02 惡盈好謙 阅读(304) 评论(0) 推荐(0) 编辑
摘要:epoll的核心是下面的函数epoll_ctl:用于将待监听的端口和放入(或移除)监听对象中。这个函数两个关键的输入为,1、待监听的接口,2、该接口在io事件发生后,操作系统接口返回给用户对应这个接口的数据。将端口加入监听的{ struct epoll_event epv = {0, {0}}; int op; void *data = malloc(10); epv.data.ptr = data; epv.events = EPOLLIN|EPOLLET; op = EPOLL_CTL_ADD; if(epoll_ctl(epollFd, op, watchfd, &epv) &l 阅读全文
posted @ 2012-07-03 09:36 惡盈好謙 阅读(239) 评论(0) 推荐(0) 编辑
摘要:以tcpip为例。最早知道的服务方式是,为每个tcpip端口都提供一个线程进行服务器。不过在考虑到超过100个以上的连接,将会产生非常多的资源站中。由于数据的特点是在同一时间并不是所有的会话都是活跃的,因此为每个会话提供一个专门服务的线程太过浪费。那么多个工作线程,一个通信处理线程将是很好的选择。已有的tcpip除了select以外,就没有其他更好的办法。经过查找资料,在Windows下,iocp的编程模型,linux下的epoll编程模型,可以很好的监控端口的事件。当然还有其他平台下的编程接口,如kqueue,不过这次实现的主要针对Windows和linux平台,因此不考虑其他平台。为了能够 阅读全文
posted @ 2012-07-02 22:18 惡盈好謙 阅读(146) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示