我见过SaaS应用程序以多种不同的方式托管.跨多个数据库拆分功能和模块是一个好主意吗?例如,将User表放在一个DB上,将功能/ app特定表放在另一个DB上,也可能放在另一个DB中的其他常用共享表中?
architecture database-design saas multi-tenant database-schema
我做了一个模型改变
standard = models.ManyToManyField(Standard)
Run Code Online (Sandbox Code Playgroud)
至
standard = models.ManyToManyField(Standard, blank=True, null=True)
Run Code Online (Sandbox Code Playgroud)
此应用程序的南模式迁移无法识别更改?
类似于这个问题,这个问题没有得到解决: 南方迁移和许多可能领域的变化
django django-models database-schema django-south django-migrations
Reddit的联合创始人介绍了他们在向数百万用户扩展时所遇到的问题.这里有摘要.
让我感到惊讶的是第3点:
相反,他们保留了一个Thing Table和一个数据表.Reddit中的所有内容都是一件事:用户,链接,评论,子评价,奖励等.事物保持共同属性,如上/下投票,类型和创建日期.Data表有三列:thing id,key,value.每个属性都有一行.标题,网址,作者,垃圾邮件投票等都有一行.当他们添加新功能时,他们不再需要担心数据库了.他们不必为新事物添加新表或担心升级.
这对我来说似乎是一个可怕的想法,但它似乎已经为Reddit解决了.不过,一般来说这是一个好主意吗?或者Reddit的特点恰好为他们解决了?
我需要表示一些事件的位置,我正在为这个应用程序设计数据库模式.我有两种方法来展示位置:
方法1: 4表:
方法2: 1表:
你会推荐哪种方法?第一个将有助于消除例如同一个国家(美国,美国,美国等)的可能的不同名称,并且可能有助于在文本框中写入可能是强制性的时候提供建议.
但是,第二种方法似乎可以让一切变得更简单,并且应该减少对数据库的查询次数.
你觉得哪一个更好?你知道这种情况下的最佳做法是什么吗?例如,它是如何做一些大型门户网站,他们也需要像位置这样的东西(例如foursquare等).Afaik facebook使用第二种方法,但是......我想听听你的意见以及为什么你会选择一种方法而不是另一种方法.
谢谢!
我希望这个标题有点帮助.我正在使用MySQL作为我的数据库
我正在建立一个产品数据库,我不知道如何处理产品变化的存储价格/ SKU.产品可能有无限的变化,每个变化组合都有自己的价格/ SKU /等.
这就是我现在设置我的产品/变体表的方法:
PRODUCTS
+--------------------------+
| id | name | description |
+----+------+--------------+
| 1 | rug | a cool rug |
| 2 | cup | a coffee cup |
+----+------+--------------+
PRODUCT_VARIANTS
+----+------------+----------+-----------+
| id | product_id | variant | value |
+----+------------+----------+-----------+
| 1 | 1 | color | red |
| 2 | 1 | color | blue |
| 3 | 1 | color | green |
| 4 | 1 | material …Run Code Online (Sandbox Code Playgroud) sql schema database-administration e-commerce database-schema
我有一个我为卡车公司建立的网络应用程序,我想作为SaaS提供.设计数据库的最佳方法是什么?
我应该为每家公司创建一个新数据库吗?或者我应该使用一个数据库,其中包含具有公司名称前缀的表格?或者我应该在每个表中使用一个数据库,只需在表中添加公司ID字段?或者还有其他方法吗?
我正在尝试构建一个消息/聊天系统.它可以按时间顺序存储两个人之间的对话.此外,如果用户A删除了对话,则用户B仍然应该访问该对话,直到他希望删除它们为止.
收件箱 - 用户从各个用户收到的所有邮件都将显示该特定帖子的最新消息.
会话屏幕 - 用户A和用户B之间会话的时间顺序
这是我提出的数据库的基本结构.我应该在数据库中存储两次消息吗?
我想知道是否date实际上是一个有效的mysql列名?
根据手册
MySQL允许将一些关键字用作不带引号的标识符,因为许多人以前使用它们.示例是以下列表中的示例:
- 行动
- BIT
- 日期
- ENUM
- 没有
- 文本
- 时间
- TIMESTAMP
因此,从我收集到的内容,您可以使用date作为列名,但并不是说不建议使用.
那么,使用date列名是否有任何影响?
我目前正在开发一款移动应用程序,可让您向朋友询问收藏,它是HTML5前端和PHP后端.我不知道建立通知系统的最佳方式是什么,更多的是数据库模式而不是实际的代码本身.
移动应用程序流程如下:
在PHP和MySQL中执行此操作的最佳方法是什么?我并不是真的要求任何人给我写PHP代码,而是映射出最理想的MySQL表和字段模式,因为这是我目前所坚持的.在此先感谢您的帮助.
database-schema ×10
mysql ×5
database ×4
schema ×2
architecture ×1
codeigniter ×1
django ×1
django-south ×1
e-commerce ×1
multi-tenant ×1
php ×1
replication ×1
saas ×1
sql ×1