文件名称:高级java笔试题-kiritoDB:一个使用JAVA的高性能key-value引擎实现,支持get、set、range。(POLARDB比赛
文件大小:64KB
文件格式:ZIP
更新时间:2024-06-22 18:16:22
系统开源
高级java笔试题 PolarDB数据库性能大赛Java选手分享 1 前言 国际惯例,先报成绩,熬了无数个夜晚,最后依旧被绝杀出了第一页,最终排名第 21 名。前十名的成绩分布为 413.69~416.94,我最终的耗时是 422.43。成绩虽然不是特别亮眼,但与众多参赛选手使用 C++ 作为参赛语言不同,我使用的是 Java,一方面是我 C++ 的能力早已荒废,另一方面是我想验证一下使用 Java 编写存储引擎是否与 C++ 差距巨大(当然,主要还是前者 QAQ)。所以在本文中,我除了介绍整体的架构之外,还会着重笔墨来探讨 Java 编写存储类型应用的一些最佳实践,文末会给出 github 的开源地址。 2 赛题概览 比赛总体分成了初赛和复赛两个阶段,整体要求实现一个简化、高效的 kv 存储引擎 初赛要求支持 Write、Read 接口。 public abstract void write(byte[] key, byte[] value); public abstract byte[] read(byte[] key); 复赛在初赛题目基础上,还需要额外实现一个 Range 接口
【文件预览】:
kiritoDB-master
----test()
--------README(76B)
--------test.cc(1KB)
----include()
--------polar_string.h(2KB)
--------engine.h(2KB)
----LICENSE(1KB)
----.gitignore(248B)
----engine_java()
--------pom.xml(4KB)
--------src()
--------.gitignore(14B)
--------jvm_parameters(158B)
----Makefile(3KB)
----README.md(18KB)
----engine_race()
--------engine_race.cc(1KB)
--------engine_race.h(830B)
--------Makefile(3KB)
----engine_example()
--------data_store.cc(3KB)
--------door_plate.cc(4KB)
--------engine_example.h(1007B)
--------util.h(858B)
--------util.cc(2KB)
--------engine_example.cc(2KB)
--------data_store.h(833B)
--------README(118B)
--------door_plate.h(1KB)
--------Makefile(3KB)