问题标签 [storage]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
653 浏览

data-structures - 在磁盘上存储大量不同大小的对象

我需要开发一个系统来存储大量(10 到 100 的数千个)对象。每个对象都类似于电子邮件 - 有一个主要文本正文和几个有限大小的辅助文本字段。正文的大小从几个字节到几个 KB。

每个项目都有一个唯一的 ID(可能是 GUID)来标识它。

仅当向其中添加对象时才会写入存储。会经常阅读。删除将是罕见的。数据几乎都是人类可读的文本,因此很容易压缩。

一个让我发出 I/O 并管理内存和缓存的系统将是理想的。

我将把索引保存在内存中,使用它将索引映射到对象的单个(和主)键。获得密钥后,我将从磁盘或缓存中加载它。

数据管理系统需要成为我的应用程序的一部分——我不想依赖操作系统服务。或单独安装的软件包。本机 (C++) 最好,但管理 (C#) 就可以了。

我相信数据库是一个显而易见的选择,但这需要超快的查找和加载到对象的内存中。我对数据库技术没有经验,我担心一般的关系系统无法有效地处理所有这些可变大小的数据。

(注意,这与我的工作无关——这是一个个人项目。)

根据您的经验,传统关系数据库的可行替代方案是什么?或者数据库会为此工作吗?

0 投票
4 回答
308 浏览

search - 存储和搜索对象事务的最佳方式是什么?

我们有一个体面的面向对象的应用程序。每当应用程序中的对象发生更改时,对象更改都会保存回数据库。然而,这已经变得不太理想了。

目前,交易被存储为一个交易和一组交易LI。

事务表具有 who、what、when、why、foreignKey 和 foreignTable 字段。前四个是不言自明的。ForeignKey 和 foreignTable 用于确定哪个对象发生了变化。

TransactionLI 具有时间戳、密钥、val、oldVal 和 transactionID。这基本上是一个键/值/旧值存储系统。

问题是这两个表用于应用程序中的每个对象,所以它们现在是相当大的表。将它们用于任何事情都很慢。索引只有这么多帮助。

所以我们正在考虑其他方法来做这样的事情。到目前为止我们已经考虑过的事情: - 按时间戳之类的方式对这些表进行分片。- 对两张表进行非规范化并将它们合并为一张。- 以上两者的结合。- 在更改后序列化每个对象并将其存储在颠覆中。- 可能是别的什么,但我现在想不起来。

整个问题是我们希望有一些机制来正确存储和搜索事务数据。是的,您可以强制将其输入关系数据库,但实际上,它是事务数据,应该相应地存储。

其他人都在做什么?

0 投票
1 回答
31686 浏览

api - Microsoft SkyDrive 是否有 API?

因此,最近有消息称微软 Skydrive 将被撞到每个帐户 25GB 的存储空间,有人知道 SkyDrive 是否有 API 吗?

(如果是这样,文档在哪里?)

0 投票
5 回答
1467 浏览

storage - 游戏地形数据库模型

我正在为网络开发游戏。该游戏的地图将至少为 2000 公里乘以 2000 公里。我希望能够以某种粒度级别对海拔和地形类型进行编码 - 例如 100m X 100m。

对于 2000 公里乘 2000 公里的地图,将此信息存储在 100m 2桶中意味着数据库中有 20000 乘 20000 个元素或总共 400,000,000 条记录。

还有其他存储此类信息的方法吗?

更多信息

地图本身永远不会完整显示。单位将以回合制方式在地图上移动,玩家将获得有关他们所在位置和当地情况的反馈。地形将决定速度和禁止移动。

我想我想说的是地图将用于游戏,不一定用于图形或显示目的。

0 投票
4 回答
909 浏览

.net - 将数据存储在平面文件中的软件,常见的编码/文件格式技术是什么

我被使用 sql server 存储数据或使用 xml 文件宠坏了。

将数据存储在 xml 和 CSV 以外的平面文件中的常用技术是什么。

我知道很多次当我打开文件时数据都是混乱的,这意味着它是编码的吗?

有什么我可以在某处读到的常用技术吗?

0 投票
8 回答
890 浏览

storage - 轻量级存储机制

我即将编写一个小实用程序来组织和标记我的 mp3。

存储少量数据的最佳方法是什么。更重要的是,是否存在不需要安装客户端/服务器环境的数据库,我只包含库就可以了吗?

我可以使用 XML,但我担心文件会变得很大且难以处理,更不用说保持较小的内存占用了。

谢谢

编辑:我还没有决定语言,我想让我的决定独立于平台。如果我必须选择,最有可能的是 .NET,第二个 Java,第三个 C++。

抱歉,这是针对 Windows 应用程序的。

0 投票
4 回答
6551 浏览

linux - 当大量磁盘活动发生时如何使 Linux GUI “可用”

如果我开始将一个巨大的文件树从一个位置复制到另一个位置,或者如果某个其他进程开始执行大量磁盘活动,则前台应用程序 (GUI) 会减慢速度。例如,采用一个 2gb 的文件树,其中包含 100k 个文件。打开控制台并执行 cp -r bigtree bigtree2。然后转到Firefox并开始浏览。Firefox 几乎无法使用。即使我将 firefox 的 nice 级别设置为非常高的优先级(-20),它仍然非常慢且延迟很大。

我记得几年前我在 Solaris 机器上工作时,系统在类似情况下的表现要好得多。

我的 HD 使用的是 DMA,而不是 PIO。是SATA。未安装 atime 标志。

0 投票
3 回答
196 浏览

.net - OID 密钥 Blob 存储的程序员中有市场吗?

一个朋友开发了一个非常棒的 blob 商店,我认为它需要被使用,但我想知道人们是否认为这样的东西有市场,以及程序员是否会做出这样的决定。它支持使用增量进行在线备份,并且比我所知道的任何东西都快得多,它经过了严格的测试并被用于一些非常小众的应用程序中。我认为任何具有二进制文件格式的人都希望将其用作替代方案。它有一个 C++ 接口,并已适应 .NET 序列化。

它绝对将 SQL blob 表从水中吹走。

想法?

编辑:更好,因为:

  • 它非常快。
  • 它是事务性的,具有完整的恢复扫描,比平面文件要好得多。
0 投票
8 回答
291 浏览

storage - 您的应用程序使用什么文件格式,为什么?

我最感兴趣的是针对大量变异的面向对象数据的进程内(单用户)解决方案,其中数据的任何部分都可能发生变化。此类系统通常存在以下问题:

  • 从头开始写大文件效率低下
  • xml 太冗长
  • SQL blob 不是很好的匹配项

你是怎么做到的?

0 投票
9 回答
750 浏览

sql - 最高性能的数据库存储机制

我需要想法来实现(真正的)高性能内存数据库/存储机制。在存储 20,000 多个对象的范围内,每个对象每 5 秒左右更新一次。 我想要一个 FOSS 解决方案

我最好的选择是什么?你有什么经验?

我主要使用 Java 工作,但我需要数据存储具有良好的性能,因此数据存储解决方案不需要以 Java 为中心。

我还需要能够查询这些对象,并且我需要能够在程序启动时恢复所有对象。