草庐IT

domain-driven-design

全部标签

database-design - MongoDB RSS 提要条目,将条目嵌入提要对象中?

我正在MongoDB中保存对RSSFeed的引用,每个Feed都有一个不断增长的条目列表。在设计模式时,我很关心MongoDBSchemaDesign-Embedvs.Reference中的这条语句文档:Iftheamountofdatatoembedishuge(manymegabytes),youmayreadthelimitonsizeofasingleobject.如果我正确理解该语句,这肯定会发生。所以问题是,我认为我不应该不将Feed条目嵌入Feed是正确的,因为我最终会达到单个对象的大小限制? 最佳答案 在设计架构时,

database-design - 在 mongoDB 中模拟一个问答站点

我需要在mongoDB中模拟一个类似stackoverflow的问答网站,这是我的主要问题。我有2个主要对象-问题和用户(只是忘记其他人,如答案等...)。用户提问。我需要始终向用户显示问题。可以搜索问题并浏览所有问题。更安全的说法是用户会问的问题少于1000个。用户有一个经常更新的声誉,当前的声誉应该一直和问题一起显示。解决方案1:将用户嵌入问题中-无需执行连接,但当用户声誉发生变化时,应更新所有相关问题。且不易显示单个用户解决方案2:将用户和问题建模为单独的集合(就像在RDBMS中一样)-现在更新信誉不是问题,但每次检索问题时都需要在用户和问题之间进行连接。就像在RDBMS中一样。

database-design - 一般 MongoDb 数据库设计和索引性能 - 一个或多个集合?

这是一个关于mongodb数据库设计的一般问题,但我提出问题的原因是我正在为一个系统设计数据库,在该系统中我为许多小型网站生成静态html文件。网站可以包含不同类型的页面,有些是用户列表,有些是其他页面的列表,有些只是静态信息页面。现在我想知道用一个页面集合来存储所有不同类型的网站页面的数据是否更好,或者是否更好有多个集合-每种类型的页面一个集合。如果我只使用一个集合,那么这可能会在一个包含许多条目的表上产生许多索引,包括按页面类型的索引。如果使用多个集合,那么每个集合都会更小并且有几个索引,包括一个用于id字段上的每个集合的索引。我的直觉是,通常使用多个集合会更好,因为这样数据就已经

database-design - MongoDB 分析模式

Mongo新手,接受分析任务并有一个架构问题。我来自SQL服务器,我有4个表...stats_landing_table-------------------idpost_idvisit_datecountrybrowserimpressionsstats_geo_table---------------idpost_iddatecountrycountry_countstats_browser_table-------------------idpost_iddatebrowserbrowser_countstats_impressions_table----------------

c# - DDD - 聚合根 - 处理效率和并发

关闭。这个问题是off-topic.它目前不接受答案。想改进这个问题吗?Updatethequestion所以它是on-topic用于堆栈溢出。关闭9年前。Improvethisquestion首先,我承认我是DDD的新手,需要阅读“bluebook”。我正在构建一个具有“Match”类型的AggregateRoot的系统。每个比赛都可以有一个“投票”集合,还有一个只读的“VoteCount”属性,当用户对比赛投赞成票或反对票时,该属性会增加。由于许多用户可能同时对一场比赛进行投票,因此必须从比赛中添加/删除投票,并且VoteCount必须作为一个涉及写锁的原子操作递增/递减(锁由DB

c# - DDD解决方案结构

我正在尝试为新的DDD项目创建一个很好的解决方案结构。我创建了一个“核心”项目,我在其中添加了实体、值对象和存储库接口(interface),然后我添加了一个“基础设施”项目,其中包含之前IRepository的实现。现在,由于我的数据库将是MongoDb,我需要在实体的某些字段中添加“[BsonDateTimeOptions]”等属性,这将需要在核心项目中添加对MongoDb驱动程序包的引用。由于核心项目不应该包含任何对MongoDb的引用,应该只包含业务逻辑并且它应该可以在任何其他项目(移动-Xamarin)中重用,在这种情况下最佳实践应该是什么?我能想到的是:实体将不包含对Mon

mongodb - Mongo Schema Design 时序数据

我正在使用MongoDB开发Web应用程序,我对架构设计有一些疑问。我想做的是用Mongo存储每个用户的能耗数据。对于每个用户,我们都会有用电量的数据,这是一个时间戳和消耗量。所以问题是如何将它们存储在Mongo中,我有两种方法。将所有内容放在一个集合中。所以它会像这样:{"user_id":"e211a233-808f-fc43-0800-c05650001785","Value":274,"Time":1314691200}所以,每个用户可能有几千条数据,而我们有几千条用户。因此,一个集合中将有数千万个文档。将一个用户的数据放在一个集合中。所以我们将有数千个集合和每个集合中的数千个

database-design - 针对特定用例的 MongoDB 模式设计

我目前正在为我的数据模式建模,我不确定我的思维过程是否有意义。所以我想我可以在这里问一些更有经验的MongoDB人:假设我的应用程序每天生成多达10.000个事件文档。我想基于时间访问它们。比如:“把这三天发生的所有事情都告诉我!”。我在大学里收集的RDBMS知识首先告诉我:“做一个事件集合并为每个文档提供事件的属性‘日期’。完成。”但后来我萌生了每天收集的想法!然后我可以非常快速地访问这些事件,只需调用其对应的集合即可获取一天的所有事件。这有意义吗?我可以在不牺牲速度/性能的情况下拥有成百上千个收藏吗?谢谢你的建议:-) 最佳答案

无类别域间路由(Classless Inter-Domain Routing, CIDR):理解IP网络和子网划分(传统的IP地址类ABCDE:分类网络)子网掩码

文章目录无类别域间路由(CIDR):理解IP网络和子网划分引言传统的IP地址类关于“IP地址的浪费”IP地址与CIDRIP地址概述网络号与主机号CIDR记法(`网络=网络地址/子网掩码`)网络和广播地址CIDR的优势减少路由表项缓解IPv4地址耗尽CIDR地址分配示例结论参考文献1无类别域间路由(CIDR):理解IP网络和子网划分引言无类别域间路由(ClasslessInter-DomainRouting,CIDR)是一种用于在互联网上创建独立的IP地址分配策略的方法。这种方法允许更细粒度的IP地址分配,从而提供了比传统的IP地址类A、B、C更高效的使用2。传统的IP地址类在早期的互联网历史中

ruby-on-rails - MongoDB Schema Design --- 与团体的友谊

friend们好~我想使用MongoDB来实现基于组的友谊模型。就像谷歌嗡嗡声。例如,我叫汤姆,史蒂夫和加文是我的friend。史蒂夫是我的同学和同事,加文是我的同事。Tom-GroupClassmatesSteve-GroupCoworkersSteveGavin我的问题是如何设计这个架构?在rails和Mongoid中,我编写了以下代码:这里是user.rbclassUserincludeMongoid::Documentfield:usernamefield:emailfield:block_list,:type=>Array,:default=>[]key:usernameem