Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 42DD6200B84 for ; Tue, 20 Sep 2016 23:08:27 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 387A6160AC5; Tue, 20 Sep 2016 21:08:27 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 4B567160AC0 for ; Tue, 20 Sep 2016 23:08:26 +0200 (CEST) Received: (qmail 26619 invoked by uid 500); 20 Sep 2016 21:08:25 -0000 Mailing-List: contact dev-help@zest.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@zest.apache.org Delivered-To: mailing list dev@zest.apache.org Received: (qmail 26607 invoked by uid 99); 20 Sep 2016 21:08:25 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 20 Sep 2016 21:08:25 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id C55B5CADE2 for ; Tue, 20 Sep 2016 21:08:24 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 4.076 X-Spam-Level: **** X-Spam-Status: No, score=4.076 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=2, JMQ_TRACKER=0.5, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RCVD_IN_SORBS_SPAM=2.397, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd1-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from mx2-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id 7_mT6R8XTgRs for ; Tue, 20 Sep 2016 21:08:22 +0000 (UTC) Received: from mail-oi0-f42.google.com (mail-oi0-f42.google.com [209.85.218.42]) by mx2-lw-eu.apache.org (ASF Mail Server at mx2-lw-eu.apache.org) with ESMTPS id D90A45FBBA for ; Tue, 20 Sep 2016 21:08:21 +0000 (UTC) Received: by mail-oi0-f42.google.com with SMTP id a62so37578790oib.1 for ; Tue, 20 Sep 2016 14:08:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to; bh=klexAMCBiOZMDlkcAB6iy4V8O517RschxN8ir0BNn6Y=; b=cs9ukYO+LqffW6UkiWzsQ9ieAMXw/acTQsHdaBK56w/MNZQZ14NgARrSnOxuRt6+ka /BDuv6gn7nIBqP6pagDwDp/MtM5ickVTGMtfgg9juHfZTk4YsezwpjcGOnle3Cvz84Ex zOH/bcxBssHeD5ASqkQatH+qiRJydscEcZIfEEMCeREadiHyeMxKJ4lQg4g3vDI4c2jJ kbQAoQcEjFC7GGpyKJTCyxSJUs+LqW9Q5M7X4VUfqZGM3ggkBmX+9S9Sj1kw7PSftDSj EWc6bgd8mF4abVrbVkLMF18SlKwCL0eunWlk6mGueGpnx4umlzaqMua+BFj8zNIdOEiA uUbw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to; bh=klexAMCBiOZMDlkcAB6iy4V8O517RschxN8ir0BNn6Y=; b=gUxQSYEMox1PaOu0jFHHlygd5SXZIOO+bw3pdvlSBm9781dSzkv5+5gkIbGWOOBMML xaiKIdZPUpPUhBJvLjQK/ZdFzpM7u37u2QaD6hjFcHpv8vriIwZuIIhZlWZGRPqdNLEX Az8Euebu+IvqUW0eHTRHDqYu+y1co/tZyaJJGWtAUXfiX0c2/fM+7nMuSpdYXoGlyae/ icq4Bg/mGpq3qcaqVmn/9IIn0k/UNoUydqMOz6dCJc+XFH/dTchikiz6lj8h5/8Pihvo P442KBm8JojGfU1l5GPYQSdFFKMmhZUexnRUc0zJDDhwYHlKPb9yX7q1PLbeCCn/wG4s qneA== X-Gm-Message-State: AE9vXwMjaKL7ot9DXwabr+NowgYZ8AoU4UkxmRukQM0KDDCTbbLd9E3dEu0N5mzNMc3cEIGUvgoBmvPZ6ZeMhQ== X-Received: by 10.202.62.130 with SMTP id l124mr42190056oia.97.1474405700438; Tue, 20 Sep 2016 14:08:20 -0700 (PDT) MIME-Version: 1.0 Received: by 10.182.191.10 with HTTP; Tue, 20 Sep 2016 14:08:19 -0700 (PDT) In-Reply-To: References: <57AB8CD5.404@gmail.com> <9df0b572740e557f6b3e3a5c4d4cdab5@nosphere.org> <03114e35-ea86-3aef-e0ec-a1dadfb4829b@zest.mail.kapsi.fi> From: Jiri Jetmar Date: Tue, 20 Sep 2016 23:08:19 +0200 Message-ID: Subject: Re: JPA? To: dev@zest.apache.org Content-Type: multipart/alternative; boundary=001a113ccd8207901c053cf6d47b archived-at: Tue, 20 Sep 2016 21:08:27 -0000 --001a113ccd8207901c053cf6d47b Content-Type: text/plain; charset=UTF-8 JSON Indexing @Postgresql : https://www.postgresql.org/docs/9.4/static/datatype-json.html should work, looks promising so far. The point with NoSQL is from my perspective i) the sheer amount of accumulated data and ii) the need to "interact" with those data, like index them, modify them, etc. Further I think we have to distinguish between NoSQL - the concept, SQL - the CRUD(Q) expression and the relational repository design. This are simply different things. I mean the relational world using SQL expression for interactions with the repository was just fine as long as one could build a "SQL-cluster" with just few nodes. This is my personal experience based on some Oracle DB setups where I was involved in. At the other side they are relational setups with hundreds of nodes, e.g. the Skype Backoffice is (was) build on top of Postgresql. Independently of that that, things starts to be complicated in the SQL world with large data when you are submitting e.g. a inner JOIN statement in a transactional INSERT expression, where the tables are located (the data) on different nodes, simply because of a single node limit. Together with other relational features like the visibility of data (level of isolation) things are that complicated that the whole thing does not scale further. Therefore the NoSQL concept was born, where the applications are (partially) responsible for the data management - a bit like in the pre-SQL era. Due to this responsibility for data handling, NoSQL application are more complex then purely SQL based and require longer time to market. So from my perspective, whenever possible, one should use SQL and transactional (ACID) repositories. Now on Zest, we have the JSON serialization of Entities and we "degrade" relational repositories to KeyValue storage engines. We should change it and also allow external modeled schemas. I would like to work on this task. Therefore smart ideas are highly welcome ! :-) Cheers, Jiri 2016-09-20 1:02 GMT+02:00 Niclas Hedhman : > Right, but with a single JSON column you have reduced RDBMS to a KeyValue > store. Can the JSON document be indexed in some intelligent way on > Postgres? > > Isn't the SQL EntityStore already doing this in Zest? > > Love your; "YesSQL" > > Although I saw another funny meme;l > NoSQL 2005 = No freaking SQL > NoSQL 2010 = Not Only SQL > NoSQL 2015 = Not Yet SQL > > Niclas > > On Mon, Sep 19, 2016 at 5:15 PM, Stanislav Muhametsin < > stanislav.muhametsin@zest.mail.kapsi.fi> wrote: > > > On 19.9.2016 4:40, Niclas Hedhman wrote: > > > >> I agree that there is always a schema, and I don't think that anyone > >> really > >> disagrees with that. It is more a matter of "rigid" or "flexible" > schema. > >> The "rigid" world requires more process overhead to create and evolve, > and > >> over time end up with 500 columns that are mostly empty. > >> > > > > Depends on how lazy the developer is in regard of keeping SQL schema up > to > > date with application schema. > > That can be done with ALTER statements, which pretty much any relational > > DB engine has these days. > > The boundary between 'rigid' and 'flexible' schema is becoming blurry, > > since e.g. PostgreSQL has been supporting 'json' column type now for a > > while. > > I think storing data in RDB using JSON should be investigated in Zest SQL > > entitystore/indexing. > > > > From my own personal experience, I would never ever use NoSQL solutions > > for any application I would develop - I think it is one of those useless > > things spread by uneducated people. > > Everything that NoSQL solution can do, the YesSQL solution can do better > - > > with proper tooling and modeling support, and with "think first, do then" > > kind of approach. > > Obviously, if one's working process lacks design/modeling/specsing of the > > domain of one's application, NoSQL approach is more suitable. > > > > > > > -- > Niclas Hedhman, Software Developer > http://zest.apache.org - New Energy for Java > --001a113ccd8207901c053cf6d47b--