`
xiaoZ5919
  • 浏览: 405456 次
  • 性别: Icon_minigender_1
  • 来自: 安平人@北京
博客专栏
Group-logo
Netty学习笔记
浏览量:73249
社区版块
存档分类
最新评论

写给高性能数据库引擎coolhash

 
阅读更多
   前一段时间fourinone在ITEYE资讯上发表了一篇http://www.iteye.com/news/29025-Fourinone-CoolHash高性能数据库引擎产品宣言,我回复评论说玩得酷,还要考得住,借用一些企鹅手机管家的台词,结果被fourinone十分不满意。又把我骂了一顿,我继续回击。面试的时候流行一句话,talk is cheap,show me the code,我在此又借用了一下,talk is cheap,show the benchmark!自此我每天一贴呼唤fourinone拿出benchmark,但至此他都没有回应!好吧我就自己动手看看CoolHash的高性能,我使用fourinone提到的4.05.06,进行了100并发100w请求的benchmark,并将代码放在https://git.oschina.net/zhh5919/fourinonetest不料在并发场景下CoolHash就会抛出异常,啊高性能啊!
详细过程如下:
搞这个东东,目的只有一个让我们看看fourinone coolhash的所谓高性能。 搞起来的步骤:
  • 首先将项目导入eclipse中,会自动编译代码到bin目录,同时会将fourinone.jar copy到该 目录下,这个很重要,因为在fourinone提供的指南demo也是这么玩,尽量和他的demo一致, 要不fourinone会说你使用姿势不正确的。
  • 启动CoolHashServer 从命令行cmd下进入bin目录。然后执行 java -cp fourinone.jar; RunServer 然后看到启动log Start ParkService and waiting 4 seconds... Start CoolHashService and waiting 5 seconds... Please try connect to CoolHashServer now. ok CoolHashServer启动成功啊
  • 简单的benchmark,CoolHash只提供单线程的读写,而且仅仅是单线程写入几十个数据, 如果把他叫做benchmark,我想你看到这里,一定是呵呵 哈哈…… 那我们给他加点压力吧,100并发100w次请求,我想这不是什么难事儿吧!mongodb, ideawu开源的SSDB都能轻松做到,让我们来见识一下CoolHash看看行不行,我写了一段 模拟100并发100w请求的代码,在EasyCoolHashDemo,各位看官也可以帮我review一下。 执行看看吧! java -cp .;fourinone.jar EasyCoolHashDemo

    执行结果让我差点崩溃了,哦不是我崩溃,是我的电脑崩溃了,cpu几乎100%。 我的电脑配置i5-3470 3.2GHz的,内存4G,win7系统。 惊喜的是哪有这些~ 根本执行不了,就不断地报错~ 欢迎更多的小伙伴来按上面的步骤 试试看看有木有报错! @fourinone啊 这就你所说的高性能,不是单线程写入几十个kv,然后每个kv都秒级别 就是高性能了


INFO: DataWorker Number:8
Exception in thread "Thread-9" java.lang.ArrayIndexOutOfBoundsException at java.lang.System.arraycopy(Native Method) at com.fourinone.FileAdapter$1.getBytes(FileAdapter.java:317) at com.fourinone.ConstantBit$Target$1.getBytes(ConstantBit.java:22) at com.fourinone.ConstantBit$Target.getTargetBytes(ConstantBit.java:175)

    at com.fourinone.DumpCtor.put(DumpCtor.java:208)
    at EasyCoolHashDemo$Worker.run(EasyCoolHashDemo.java:39)
    at java.lang.Thread.run(Unknown Source)
Exception in thread "Thread-56" java.lang.ArrayIndexOutOfBoundsException at java.lang.System.arraycopy(Native Method) at com.fourinone.FileAdapter$1.getBytes(FileAdapter.java:317) at com.fourinone.ConstantBit$Target$1.getBytes(ConstantBit.java:22) at com.fourinone.ConstantBit$Target.getTargetBytes(ConstantBit.java:175)

    at com.fourinone.DumpCtor.put(DumpCtor.java:208)
    at EasyCoolHashDemo$Worker.run(EasyCoolHashDemo.java:39)
    at java.lang.Thread.run(Unknown Source)
Exception in thread "Thread-81" java.lang.ArrayIndexOutOfBoundsException at java.lang.System.arraycopy(Native Method) at com.fourinone.FileAdapter$1.getBytes(FileAdapter.java:317) at com.fourinone.ConstantBit$Target$1.getBytes(ConstantBit.java:22) at com.fourinone.ConstantBit$Target.getTargetBytes(ConstantBit.java:175)

    at com.fourinone.DumpCtor.put(DumpCtor.java:208)
    at EasyCoolHashDemo$Worker.run(EasyCoolHashDemo.java:39)
    at java.lang.Thread.run(Unknown Source)
Exception in thread "Thread-70" java.lang.ArrayIndexOutOfBoundsException at java.lang.System.arraycopy(Native Method) at com.fourinone.FileAdapter$1.getBytes(FileAdapter.java:317) at com.fourinone.ConstantBit$Target$1.getBytes(ConstantBit.java:22) at com.fourinone.ConstantBit$Target.getTargetBytes(ConstantBit.java:175)

    at com.fourinone.DumpCtor.put(DumpCtor.java:208)
    at EasyCoolHashDemo$Worker.run(EasyCoolHashDemo.java:39)
    at java.lang.Thread.run(Unknown Source)



1
1
分享到:
评论
4 楼 xiaoZ5919 2014-07-16  
cwqcwqmax9 写道
你的代码缺少运行文件    config.xml
你看coolhash的文档就知道  这个config.xml是自动生成的 如果你的没有生成那说明存在一些问题,我的测试环境是能自动生成的
3 楼 cwqcwqmax9 2014-07-16  
你的代码缺少运行文件    config.xml
2 楼 cwqcwqmax9 2014-07-16  
请把 config.xml  贴出来啊  


一运行RunServer    就会报错 


Start ParkService and waiting 4 seconds...
Start CoolHashService and waiting 5 seconds...
Please try connect to CoolHashServer now.
[XmlConfig][Error:get XmlProps From File]java.io.FileNotFoundException: F:\高性能数据库引擎coolhash coolhash  测试\fourinonetest\config.xml (系统找不到指定的文件。)


Exception in thread "Thread-9" java.lang.ExceptionInInitializerError
at com.fourinone.BeanContext$1.run(BeanContext.java:332)
Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.rangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at com.fourinone.ConfigContext.getLogLevel(ConfigContext.java:260)
at com.fourinone.LogUtil.<clinit>(LogUtil.java:13)
... 1 more
1 楼 epanthere 2014-07-10  
作者好像出了性能报告了~
http://www.iteye.com/news/29173-CoolHash-Database-Engine

相关推荐

    2015年中国数据库大会CoolHash架构PPT

    《2015年中国数据库大会CoolHash架构》的演讲PPT是关于一款名为CoolHash的数据库引擎的深度解析。在此次大会上,专家详细介绍了这款创新的数据库系统的设计理念、架构特点以及其在实际应用中的优势。这篇PPT是了解...

    Access 2010数据库引擎

    这个数据库引擎被称为Jet或者ACE(Access Connectivity Engine),在不同版本的Office中,它的功能和性能都有所提升。 当用户遇到WPS(金山办公软件)无法链接到外部数据的问题时,通常是因为缺少了必要的数据访问...

    Dao Jet数据库引擎

    DAO Jet数据库引擎是微软在早期开发的用于访问和管理Access数据库的一种组件,它与Jet数据库引擎密切相关。Jet引擎是Microsoft Windows操作系统中一个内置的数据库管理系统,主要用于支持Access数据库和其他使用Jet...

    Microsoft Access 2010 数据库引擎.rar

    标题中的“Microsoft Access 2010 数据库引擎.rar”指的是微软在2010年发布的Access数据库引擎,这是一个用于处理和管理数据的强大工具。它不仅支持Access数据库(.accdb)格式,还允许与其他数据源如Excel、SQL ...

    Microsoft Access Database Engine数据库引擎可再发行程序包

    Microsoft Access Database Engine数据库引擎可再发行程序包。 博客链接:https://blog.csdn.net/kangweijian/article/details/141895795 Microsoft Access 2016 数据库引擎可再发行程序包。 此下载将安装一系列...

    dao jet数据库引擎

    DAO(Data Access Objects)是微软在早期开发的一种数据访问接口,主要用于访问Microsoft Jet数据库引擎,它是Access数据库的基础。Jet数据库引擎是微软开发的一种强大的、快速的数据库管理工具,尤其适用于小型到...

    dao3.5数据库+引擎.zip

    DAO(Data Access Objects)是微软在早期开发的一种数据访问接口,主要用于访问Microsoft Jet数据库引擎,如Access数据库。DAO 3.5是DAO的一个版本,它在Windows操作系统中广泛使用,尤其是在16位和32位应用程序中。...

    高性能数据库

    在IT领域,数据库技术是支撑现代信息技术架构的关键组成部分,尤其在大数据时代,高性能数据库更是成为企业数据管理和处理的核心。本文将深入探讨“高性能数据库”的概念、特性、操作以及相关的SQL数据库知识,旨在...

    高性能数据库集群的读写分离设计.docx

    高性能数据库集群的读写分离设计 高性能数据库集群的读写分离设计是为了解决高并发读写操作场景下的性能瓶颈问题。下面是读写分离设计的关键知识点: 1. 读写分离概述 读写分离是指将数据库的读写操作分离到不同...

    Access OLE DB数据库引擎

    用oledb连接数据源时,如果数据源是access的,需要access数据库引擎,系统默认是没有的,需要下载此软件安装即可。具体使用方法请参考 张立的《C#2.0 实例自学手册:通过200个例子掌握Web开发捷径》这本书中有关OLE...

    高清完整版 Oracle 高性能SQL引擎剖析SQL优化与调优机制详解

    Oracle数据库是全球领先的企业级...由于是关于Oracle高性能SQL引擎的深入剖析,这本资料是数据库开发者和管理员难得的参考资料,尤其对于处理复杂业务逻辑和海量数据的场景下,掌握这些优化和调优技巧显得尤为重要。

    解密SqlServer数据库引擎

    Sql Server数据库引擎,由Microsoft开发,是一个广泛应用于企业级的高性能关系型数据库管理系统。其重要性和作用体现在以下几个方面: 1. **数据存储与管理**:Sql Server数据库引擎采用先进的数据存储结构,如B树...

    Mysql数据库引擎大揭秘

    - 非关系型数据库引擎(NoSQL):如MongoDB,采用键值对、文档、列族等方式,适合非结构化数据,强调高性能和可伸缩性。 - 内存数据库引擎:如Redis,数据存储在内存中,提供快速读写,适用于临时数据和高并发场景。...

    Access数据库引擎,无需安装Access也可以使用Access数据库AccessDatabaseEngine.rar

    Access数据库引擎,全称为Microsoft Office Access Database Engine,是微软提供的一款独立于Access应用程序之外的核心组件。这个引擎使得用户能够在不安装完整版Access的情况下,也能读取、写入和操作Access数据库...

    空间数据库引擎空间数据库引擎.ppt

    空间数据库引擎空间数据库引擎

    BDESetup(BDE数据库引擎安装包)

    BDESetup(BDE数据库引擎安装包)

    基于高性能开源引擎的跨平台数据库防火墙hisql设计源码

    该项目是一款基于高性能开源引擎构建的跨平台数据库防火墙hiSQL,设计源码包含83个文件,涵盖31个头文件(h)、26个C源文件(c)、3个Markdown文件(md)、2个Python脚本(py)、1个Git忽略文件(gitignore)、1个...

    解密Oracle数据库引擎原理

    Oracle数据库引擎的主要功能包括数据存储管理、数据访问控制、数据操作处理、性能优化、数据完整性和一致性以及备份和恢复。 1. 数据存储管理:Oracle数据库引擎采用高效的数据结构和算法,如B树和位图索引,以优化...

Global site tag (gtag.js) - Google Analytics