Path: csiph.com!weretis.net!feeder6.news.weretis.net!feeder5.news.weretis.net!news.solani.org!.POSTED!not-for-mail From: Mladen Gogala Newsgroups: comp.databases.postgresql Subject: Re: Application architecture for multi-site manufacturing Date: Sat, 21 Sep 2019 15:22:38 +0000 (UTC) Organization: solani.org Lines: 40 Message-ID: References: <877e69h1jg.fsf@x230.onfire.org> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Trace: solani.org 1569079358 17752 127.0.0.43 (21 Sep 2019 15:22:38 GMT) X-Complaints-To: abuse@news.solani.org NNTP-Posting-Date: Sat, 21 Sep 2019 15:22:38 +0000 (UTC) User-Agent: Pan/0.145 (Duplicitous mercenary valetism; d7e168a git.gnome.org/pan2) X-User-ID: eJwFwQERADEIAzBL0LXA5Dzs8C/hE53wmGQoqNW+vJ87BjkskWihZwcyms7dZ4XKsjPoy/wBCGQQDg== Cancel-Lock: sha1:wUvwBJDBr7Q0lPDmLtORnWc3ciU= Xref: csiph.com comp.databases.postgresql:876 On Mon, 16 Sep 2019 02:02:01 +0530, Pankaj Jangid wrote: > Christian Barthel writes: > >> I can not comment much on the above because I do not have a lot >> of experience with designing de-central, big systems(*). I would >> try to find a simple way of dealing with the existing demands and >> improve the existing solution incrementally. Is a Redis cache >> really necessary? If you have a local copy of the data on each >> site, the performance of PostgreSQL may be good enough? Can you >> add performance improvements later? Can you make it modular and >> extendable for future demands etc. >> > > This is a really practicle advice. Thanks. Given the timeline of this > project I wanted some suggestion to deal with the complexity. And this > is really a breather. I can certainly apply incremental improvement. You should be aware of the CAP theorem which says that you cannot have consistency, availability and partition tolerance at the same time. You can only have 2 of those things. Second, there is no need to re-invent the wheel. There are open source ERP systems in the wild, like Dolibarr or ERPNext. Since they are open source, you can use their data model to build your own system, Business case for ERP software is usually centralization of resource management and the savings that are the result of central resource management. Your design choice of going distributed seems to contradict the usual wisdom of centralizing the ERP systems. I don't say that it cannot work, but it may prove difficult.Last but not least: you should be aware that this is a massive undertaking and that you will need many programmers to complete the task. The only way to keep costs under control is to use Java ORM and an application server. Many people know how to use Java and JBoss and programmers are relatively easy to come by. All standard ORMs like Hibernate, MyBatis and Apache Cayenne support PostgreSQL. -- Mladen Gogala Database Consultant http://mgogala.byethost5.com