标签: storing-data

是否存在用于存储关系的概率数据结构?

我有数据库,用户订阅主题.目前,SQL数据库中存储了大约20 000个主题,20万个用户和200万个订阅.由于它的大小,数据库按主题分区,因此我无法在一个数据库查询中获取信息.有几个主题有10万个订阅,一对有10万,其他有数百或更少.

当一个事件发生时,它通常匹配几个主题,所以为了通知用户,我需要执行查询,例如"给我所有用户订阅主题x,y,z并执行集合的联合",以便一个用户获得新闻即使他同时订阅了主题x和z.

限制是:

  • 联合集中必须没有重复项.(用户无法获取内容两次)
  • 联合集中可能缺少大量用户.(如果有时候用户没有获得内容,那就不是那么糟糕,但它不能总是同一个主题的同一个用户)
  • 可以订阅新主题而无需重建整个事物.

我想过为每个主题使用一组布隆过滤器,但是它们的约束是相反的:"用户要么没有订阅肯定,要么可能订阅".我需要一些类似"用户订阅肯定或可能不是"的内容.

有损哈希表可能是个好主意,但我不确定,如果它们可以像布隆过滤器那样具有内存效率,而且我担心它会永远是同一个用户,那就是缺少他主题中的内容.

你知道其他任何数据结构,这对解决这个问题有好处吗?

algorithm set storing-data data-structures

20
推荐指数
1
解决办法
452
查看次数

使用HDF5写入两个不同的文件

我在C中有一个小型库,它使用HDF5在Windows下写入数据(v.1.8.14).那个lib然后由一个C#应用程序使用,该应用程序执行其他一些操作,然后需要编写大量数据.

我现在需要启动应用程序的两个实例,其想法是将每个实例保存到放置在两个不同硬盘上的两个不同文件.但是,我遇到了性能问题和数据丢失.通过检查磁盘的使用情况,似乎是串行写入数据(第一个HD忙,而第二个不忙,然后第二个变忙,第一个不忙等等),这就像有一个磁盘(和一个磁盘速度不够快,两倍于数据).

那么我该怎么做才能从两个不同的进程写入两个不同的文件呢?我需要使用Parallel HDF5吗?如果我以后想要在同一个进程中写入两个不同的文件,那么你要提出的解决方案也会有用吗?请提供相关资源的详细信息和链接

c# parallel-processing hdf5 storing-data

9
推荐指数
0
解决办法
169
查看次数

在数据库中存储时间(仅限时间和非日期)的最佳方式

我正在使用Java(J2SE)开发一个应用程序.
我需要在数据库中存储一个时间(例如16:30:12).
当我需要存储日期(或日期+时间)时,我将其转换为Unix时间戳,并将其存储为Long数字.
但是当我只需要时间而不是日期和时间时,最好的存储方式是什么?
我正在使用SQLiteMS Access作为DBMS.

谢谢

java time date storing-data

7
推荐指数
2
解决办法
1万
查看次数

Java读取文件并将文本存储在数组中

我知道如何Java使用Scanner和文件IOException 读取文件,但我唯一不知道的是如何将文本作为数组存储在文件中.

这是snippet我的代码:

 public static void main(String[] args) throws IOException{
    // TODO code application logic here

    // // read KeyWestTemp.txt

    // create token1
    String token1 = "";

    // for-each loop for calculating heat index of May - October


    // create Scanner inFile1
    Scanner inFile1 = new Scanner(new File("KeyWestTemp.txt"));

    // while loop
    while(inFile1.hasNext()){

        // how can I create array from text read?

        // find next line
        token1 = inFile1.nextLine();
Run Code Online (Sandbox Code Playgroud)

这是我的KeyWestTemp.txt文件包含的内容:

70.3,   70.8,   73.8, …
Run Code Online (Sandbox Code Playgroud)

java arrays file-io storing-data

7
推荐指数
1
解决办法
20万
查看次数

使用Alfresco CMS时将文档存储到DBMS的原因是什么

我有一个想要实施文档管理系统的公司实习面试,他们正在考虑首先开源解决方案,他们的首选是Alfresco,但决定仍然不是最终的,我的工作部分将是调查是Alfresco是最好的解决方案.

我从项目描述中看到的是,他们将使用MySQL数据库实现Alfresco,而不是仅将DBMS用于文档元数据和索引,但他们实际上想要将文档存储在其中.根据公司资料,文档类型主要是PDF和.doc,而不是图像.

我已经研究了一下,我已经阅读了有关将文件存储到数据库中的所有主题,而不是复制问题.因此,根据我的理解,存储BLOBS通常是不可推荐的,并且根据公司的概况及其存档的法律义务,我认为他们将需要存储更多的文档.

我想尽可能多地为面试做好准备,这就是为什么我希望你对这些问题的意见:

  1. 决定将文档存储到DBMS中的原因是什么(特别是考虑到您正在安装Alfresco,它将文件存储在FS中)?

  2. 您是否有任何将文档存储到MySQL数据库的经验?

非常感谢所有的帮助,我对面试感到非常兴奋,真的很想实习,所以这是我以前真正想要了解的事情之一!

谢谢!!!!

mysql alfresco document-management blobstorage storing-data

6
推荐指数
1
解决办法
1446
查看次数

实体注释属性不起作用

这是我的实体:

[Table( Name = "PdfMeta" )]
public class Meta
{
    [Key()]
    public int Id { get; set; }

    [Column(Name = "TotalPages")]
    public int TotalPages { get; set; }

    [Column(Name = "PdfPath")]
    public string PdfUri { get; set; }

    [Column(Name = "ImagePath")]
    public string ImageUri { get; set; }

    [Column(Name = "SplittedPdfPath")]
    public string SplittedFolderUri { get; set; }

}
Run Code Online (Sandbox Code Playgroud)

这是来自上下文的代码:

      public DbSet<Meta> PdfMeta { get; set; }
Run Code Online (Sandbox Code Playgroud)

为什么用TableUri,PdfUri ...列创建新表(Metas)?我知道这是按惯例完成的,但我已经明确指定了表和列.

c# entity-framework storing-data ef-code-first

6
推荐指数
1
解决办法
2414
查看次数

在iPhone上存储json数据:保存json字符串,因为它是从json创建一个对象并使用NSCoding + NSKeyedArchiver

在我的iPhone应用程序中,我从远程服务器获取json数据,使用Json Framework解析它并将其呈现在UIview中.还希望能够为用户提供将数据存储在设备上的选项,以便也可以脱机查看.我想知道是否直接存储json数据比制作一个对象更好或更差,然后使用NSCoding + NSKeyedArchiver保存它.我认为存储JSON字符串,因为它是的优点在于,它需要较少的空间比光盘存档对象,同时,在另一方面,通过存储归档的对象,你不必解析存储的数据每一次这样使用更少的内存.

有最好的整体选择吗?在这个问题上有没有最佳实践?json文件大小约为8KB.

iphone json nscoding storing-data ios

5
推荐指数
1
解决办法
3766
查看次数

存储每日页面浏览量的最有效方式,以及总计数

有关于在数据库中存储文章或视频的页面视图的讨论,但我似乎无法找到有关存储每日页面视图的任何信息.例如,DeviantArt向您显示过去15天左右的时间以及每个页面视图在一个小图表中获得的页面浏览量,以及该配置文件的总页面视图.

网页浏览示例

你可以看到我正在努力实现的目标,DeviantArt大规模地实现它,因为它们获得了数百万次点击.

我在PHP和MySQL上使用CodeIgniter

php mysql performance pageviews storing-data

5
推荐指数
2
解决办法
7857
查看次数

Java:以最节省内存的方式存储位

我编写了一个算法来实现Huffman Coding来压缩文本文件.它基本上将字符串作为输入,并生成一串位作为输出.但是,我在存储这个二进制数据时遇到了问题,因为它存储为一个字符串,其中每个位都是一个字符,并占用2个字节的内存用于存储.最终结果,输出文件大于输入,使整个程序一文不值.我应该如何存储这个二进制输出,使每个位只占用一位内存用于存储?PS.我尝试过使用BitSet,但根本没有改变输出的大小

java huffman-code storing-data

5
推荐指数
1
解决办法
2481
查看次数

将字段值存储为 JSON 数组而不是创建新表和一对多关系打赌它们有什么优点/缺点吗?

假设每个用户都有一些数字(例如网页游戏中的道具 ID)要存储在数据库中。

我看到一些实现将数字作为 JSON 字符串(表示数组结构)存储在用户信息表的一个字段中。但我的直觉是创建另一个如下表

CREATE TABLE user_numbers (
    userid INT,
    user_number,
    FOREIGN KEY (userid) REFERENCES user_info(id) ON DELETE CASCADE
);
Run Code Online (Sandbox Code Playgroud)

因为这是一对多关系的正式方式。

所以我想知道 JSON 方法有什么实际好处还是只是个人选择?

mysql json one-to-many storing-data

5
推荐指数
1
解决办法
2680
查看次数