数据结构存储任意数据库表

<p>我想设计出可用于表示和存储任意关系数据库表的内容的JVM数据结构(的Java /斯卡拉)。数据结构要快(不要太GC-密集,高速缓存友好型)和内存使用效率,使更大的表可以适合在RAM中。 P&gt; </p><p>一个内存效益的解决方案是分别存储每个列的基本数组,但我很担心缓存友好,因为在同一行中的项目没有存储在一起。与N列一排会招致n缓存未命中,无论怎样缩小列。 P&gt; </p><p>另一个解决方案是每行存储一个对象数组,其中每个元素都代表一个字段,强制转换为上检索正确的类型,但是这需要在他们的盒装形式存储的数字类型,所以它不是很记忆效率。它可能不是要么缓存效率。 P&gt; </p><p>另一种解决方案是将每个行的数据布局成字节数组相同的方式实数据库序列的行,并使用必要的只是作为许多字节。这是高速缓存友好和内存效率,但我很担心序列化/反序列化的每个接入成本。 P&gt; </p><p>什么是最好的方法是什么? P&gt;
</p>

74 浏览 1 回复
  数据   gt   缓存   存储   内存  

回复

    <p>什么是这样做的目的是什么?您可能更简单的存储您从数据库中检索的某种类似的Ehcache,OSCache的,内存缓存等缓存层(作为对象映射它)中的数据 - 而不是重新发明轮子 P&gt; </p><p>为什么不使用 HSQLDB 或的<a href="htt p://www.h2database.com”的rel =“ nofollow的"> H2 ? p&gt; </p><p>它们都支持内存模式,是纯Java。他们强迫你使用SQL来访问,但在另一端,你没有实现自己的加盟。 P&gt; </p><p>两者都是开源的,所以你也可以以此作为性能的基准,看看做你自己按列/逐行数据结构会更快,是值得的。 P&gt;
    </p>

    邱豪

相关信息

缓存忘却数据结构和动态语言 - 有效?

<p>最近我一直在阅读有关辅助一样堆缓冲区高速缓存忘却的数据结构。这些数据结构通过保持自己最最近存取元素在高速缓存中工作,所以任何后续访问也更快。 P&gt; </p><p>大多数数据结构与像C / C ++低级别的语言实现的。是否值得尝试端口这些数据结构到像Python这样的动态语言,或做了虚拟机上运行的开销破坏这些数据结构的所有性能优势?这似乎是后者...

57 浏览 1 回复   gt   结构   对象   大小   缓存  

在PL / SQL映射数据结构存储键值对?

<p>反正是有建立在PL / SQL地图数据结构。 P&gt; </p>

72 浏览 1 回复   sql   pl   结构   数据结构   数据  

Visual Basic 6的数据结构

<p>什么是所有的数据结构VB6(Microsoft Access中)构建?我知道有数组,但是否有其他更现代的数据结构? P&gt; </p>

81 浏览 1 回复   结构   数据结构   数据   vba   stackoverflow  

数据库表 - 数据结构设计C ++

<p>这可能是一个愚蠢的问题还是问了很多次,我搜索,但没有找到合适的答案。 P&gt; </p><p>究竟是什么打算,当我们对SQL引擎上键入 p&gt; “CREATE TABLE XXXX”预&gt;如何实现这一个在C ++中,我的意思是如何创建一个变量dynamicalyy“XXXX”和将数据存储在其中。如果我问“SELECT \*...

30 浏览 1 回复   gt   数据   存储   一个   数据库  

数据结构 - 渐近分析(C ++)

<p>有谁知道在哪里可以找到很好的组织在一个放置(可能是表,但不具备)的基本数据结构的渐进分析。我想刷新我的数据结构的理解,还可以搜索和排序算法。 所以我在寻找最好的,平均。而最坏的情况。 P&gt; </p><p>这不会伤害,如果它包括了STL。 P&gt; </p>

44 浏览 1 回复   gt   结构   数据结构   数据   一个