As one of the systems admins at Etsy I can tell you that you definitely do not want to duplicate our DB schema :-) At a high level, our DB infrastructure spans dozens of servers, and stores tons of data which isn't exposed through the API.
There are also DB indexes and other architecture designs which exist to make fast DB lookups possible which you probably don't want to duplicate either. For example, we split a lot of data across many MySQL servers (sharding), and then have another set of MySQL servers (indexing) which help us find data on the shards.
I would advise that you look at your own application needs and design your database schema around that.
I would say that the schema would be very very similar to the web service, which in one respects answers your question.
But... I would suggest that you really don't want to emulate the schema of eBay. eBay has been designed to work with a lot of data and has been de-optimized and has grown over time into a behomth. It is also not a good example of how a database should be structured and will cause you endless pain and tourment developing your solution based around it. So if I were you I would only capture what information you require from both systems.
发布评论
评论(2)
作为 Etsy 的系统管理员之一,我可以告诉您,您绝对不想重复我们的数据库模式 :-) 在较高级别上,我们的数据库基础设施跨越数十台服务器,并存储大量未通过数据库公开的数据API。
还有数据库索引和其他架构设计,可以使快速数据库查找成为可能,但您可能也不想重复。例如,我们将大量数据分散到许多MySQL服务器上(分片),然后有另一组MySQL服务器(索引)来帮助我们在分片上查找数据。
我建议您查看自己的应用程序需求并围绕其设计数据库架构。
As one of the systems admins at Etsy I can tell you that you definitely do not want to duplicate our DB schema :-) At a high level, our DB infrastructure spans dozens of servers, and stores tons of data which isn't exposed through the API.
There are also DB indexes and other architecture designs which exist to make fast DB lookups possible which you probably don't want to duplicate either. For example, we split a lot of data across many MySQL servers (sharding), and then have another set of MySQL servers (indexing) which help us find data on the shards.
I would advise that you look at your own application needs and design your database schema around that.
我想说,该架构与 Web 服务非常相似,它在一方面回答了您的问题。
但是...我建议您真的不想模仿 eBay 的模式。 eBay 的设计目的是处理大量数据,但它已经不再优化,并且随着时间的推移已经发展成为一个庞然大物。它也不是一个关于如何构建数据库的好例子,并且会给您带来无尽的痛苦和围绕它开发解决方案的麻烦。
因此,如果我是您,我只会从两个系统中获取您需要的信息。
I would say that the schema would be very very similar to the web service, which in one respects answers your question.
But... I would suggest that you really don't want to emulate the schema of eBay. eBay has been designed to work with a lot of data and has been de-optimized and has grown over time into a behomth. It is also not a good example of how a database should be structured and will cause you endless pain and tourment developing your solution based around it.
So if I were you I would only capture what information you require from both systems.