我有数据库,用户订阅主题.目前,SQL数据库中存储了大约20 000个主题,20万个用户和200万个订阅.由于它的大小,数据库按主题分区,因此我无法在一个数据库查询中获取信息.有几个主题有10万个订阅,一对有10万,其他有数百或更少.
当一个事件发生时,它通常匹配几个主题,所以为了通知用户,我需要执行查询,例如"给我所有用户订阅主题x,y,z并执行集合的联合",以便一个用户获得新闻即使他同时订阅了主题x和z.
限制是:
我想过为每个主题使用一组布隆过滤器,但是它们的约束是相反的:"用户要么没有订阅肯定,要么可能订阅".我需要一些类似"用户订阅肯定或可能不是"的内容.
有损哈希表可能是个好主意,但我不确定,如果它们可以像布隆过滤器那样具有内存效率,而且我担心它会永远是同一个用户,那就是缺少他主题中的内容.
你知道其他任何数据结构,这对解决这个问题有好处吗?
我在C中有一个小型库,它使用HDF5在Windows下写入数据(v.1.8.14).那个lib然后由一个C#应用程序使用,该应用程序执行其他一些操作,然后需要编写大量数据.
我现在需要启动应用程序的两个实例,其想法是将每个实例保存到放置在两个不同硬盘上的两个不同文件.但是,我遇到了性能问题和数据丢失.通过检查磁盘的使用情况,似乎是串行写入数据(第一个HD忙,而第二个不忙,然后第二个变忙,第一个不忙等等),这就像有一个磁盘(和一个磁盘速度不够快,两倍于数据).
那么我该怎么做才能从两个不同的进程写入两个不同的文件呢?我需要使用Parallel HDF5吗?如果我以后想要在同一个进程中写入两个不同的文件,那么你要提出的解决方案也会有用吗?请提供相关资源的详细信息和链接
我正在使用Java(J2SE)开发一个应用程序.
我需要在数据库中存储一个时间(例如16:30:12).
当我需要存储日期(或日期+时间)时,我将其转换为Unix时间戳,并将其存储为Long数字.
但是当我只需要时间而不是日期和时间时,最好的存储方式是什么?
我正在使用SQLite和MS Access作为DBMS.
谢谢
我知道如何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) 我有一个想要实施文档管理系统的公司实习面试,他们正在考虑首先开源解决方案,他们的首选是Alfresco,但决定仍然不是最终的,我的工作部分将是调查是Alfresco是最好的解决方案.
我从项目描述中看到的是,他们将使用MySQL数据库实现Alfresco,而不是仅将DBMS用于文档元数据和索引,但他们实际上想要将文档存储在其中.根据公司资料,文档类型主要是PDF和.doc,而不是图像.
我已经研究了一下,我已经阅读了有关将文件存储到数据库中的所有主题,而不是复制问题.因此,根据我的理解,存储BLOBS通常是不可推荐的,并且根据公司的概况及其存档的法律义务,我认为他们将需要存储更多的文档.
我想尽可能多地为面试做好准备,这就是为什么我希望你对这些问题的意见:
决定将文档存储到DBMS中的原因是什么(特别是考虑到您正在安装Alfresco,它将文件存储在FS中)?
您是否有任何将文档存储到MySQL数据库的经验?
非常感谢所有的帮助,我对面试感到非常兴奋,真的很想实习,所以这是我以前真正想要了解的事情之一!
谢谢!!!!
这是我的实体:
[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)?我知道这是按惯例完成的,但我已经明确指定了表和列.
在我的iPhone应用程序中,我从远程服务器获取json数据,使用Json Framework解析它并将其呈现在UIview中.还希望能够为用户提供将数据存储在设备上的选项,以便也可以脱机查看.我想知道是否直接存储json数据比制作一个对象更好或更差,然后使用NSCoding + NSKeyedArchiver保存它.我认为存储JSON字符串,因为它是的优点在于,它需要较少的空间比光盘存档对象,同时,在另一方面,通过存储归档的对象,你不必解析存储的数据每一次这样使用更少的内存.
有最好的整体选择吗?在这个问题上有没有最佳实践?json文件大小约为8KB.
有关于在数据库中存储文章或视频的页面视图的讨论,但我似乎无法找到有关存储每日页面视图的任何信息.例如,DeviantArt向您显示过去15天左右的时间以及每个页面视图在一个小图表中获得的页面浏览量,以及该配置文件的总页面视图.

你可以看到我正在努力实现的目标,DeviantArt大规模地实现它,因为它们获得了数百万次点击.
我在PHP和MySQL上使用CodeIgniter
我编写了一个算法来实现Huffman Coding来压缩文本文件.它基本上将字符串作为输入,并生成一串位作为输出.但是,我在存储这个二进制数据时遇到了问题,因为它存储为一个字符串,其中每个位都是一个字符,并占用2个字节的内存用于存储.最终结果,输出文件大于输入,使整个程序一文不值.我应该如何存储这个二进制输出,使每个位只占用一位内存用于存储?PS.我尝试过使用BitSet,但根本没有改变输出的大小
假设每个用户都有一些数字(例如网页游戏中的道具 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 方法有什么实际好处还是只是个人选择?
storing-data ×10
java ×3
mysql ×3
c# ×2
json ×2
alfresco ×1
algorithm ×1
arrays ×1
blobstorage ×1
date ×1
file-io ×1
hdf5 ×1
huffman-code ×1
ios ×1
iphone ×1
nscoding ×1
one-to-many ×1
pageviews ×1
performance ×1
php ×1
set ×1
time ×1