Re: [wasm] sqlite as rfc-spec'd web-interchange-format?

kai zhu <kaizhu256@gmail.com> Fri, 27 November 2020 05:09 UTC

Return-Path: <kaizhu256@gmail.com>
X-Original-To: ietf@ietfa.amsl.com
Delivered-To: ietf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B19F23A119B for <ietf@ietfa.amsl.com>; Thu, 26 Nov 2020 21:09:30 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.847
X-Spam-Level:
X-Spam-Status: No, score=-1.847 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id GYCiGXgO5ymj for <ietf@ietfa.amsl.com>; Thu, 26 Nov 2020 21:09:28 -0800 (PST)
Received: from mail-vk1-xa35.google.com (mail-vk1-xa35.google.com [IPv6:2607:f8b0:4864:20::a35]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B02E13A1199 for <ietf@ietf.org>; Thu, 26 Nov 2020 21:09:28 -0800 (PST)
Received: by mail-vk1-xa35.google.com with SMTP id m6so901319vkl.2 for <ietf@ietf.org>; Thu, 26 Nov 2020 21:09:28 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=fZmEXnSlLE6jw055fpzU1Dw3+d10S5PyEb6p1laxpEQ=; b=aO+xsMAYdaJ2A0tatoNuSF14jcAznoqNkVQO3UPx8SHTJm537ESjadDvuH+darocaN 4YKx419vk7X4ahOTxor5odIr7ubE60SOK3tQ7elF2p9PDiPP3HgZCGbeUhZ4VsSj+06T ZHVCdu+LhwpMvIygIAXBZBtJ4sl+B3Cl0yTJLrRdLOzLbT0sgc2eGZWB30IhS1GbxGjt Sx9GulvKHX2BDTOuw7lyQAWuI6Q/WiYqmj9Vz2M/3AFxTXgcglKFO9ma0w0CrSwakyDX s6R8Xat04Kx2jmud6PUhWJZojZUJOpJnr+NdTUpf3y1Et9lAbfmEg/RnWBm5SzWsr4IN CkQA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=fZmEXnSlLE6jw055fpzU1Dw3+d10S5PyEb6p1laxpEQ=; b=ZIbkA0mW1kQ03qQWerNVgnJ1+eWIWX+T/51wi8lTBquAcK58PkgZ9NVX9hji9V/gka 0FSc9q/kVqJE2iZ2xkw6Xhctq6WFo8b2Gq6fFx5OZlE/s9Et9gjHdNB7VNgOMQ0oTdMp bGbkHXtoB7ZSlhi84PBnP1FzDSXnvJQwZ8c/J6varQ0APgaayXeomUTV6Zzev5/jhQVE H6Y6RH8qU9Ff/36VCYoHx3Yo4sqLxdmF56pi6dC7z8+iOcXY4zGjWuwSEE4h3eSFiaLs WPPi06lKcGj9n+eIapiNFF7j64jwqk1Qjd/+Xzkmf6i+kV/KAMtb8wv8mZrv3j3LIjR3 a+MQ==
X-Gm-Message-State: AOAM531AFEzHEWijvYYF/SNLD5iMC8C95hLPOxLFXPDGenGooRPRfdBW o/OAb0BgOFRTPzebCcvpPczWyeNuYC4TVTy6sS5cidPOXfw=
X-Google-Smtp-Source: ABdhPJzMOug85Gy2d/UILHRsKY8bFPwHGBY9lQak2dWd3IdJofwHTI8HSMoDVFwvKZuNbHQmkCV4szhB8zMWxaUIqrM=
X-Received: by 2002:a1f:df82:: with SMTP id w124mr4055683vkg.16.1606453767745; Thu, 26 Nov 2020 21:09:27 -0800 (PST)
MIME-Version: 1.0
References: <CALPJ4700ueNSZvBfRjsD82X6dkGxTO8RaJYXrs4uC2oH8MTa9A@mail.gmail.com> <d84000f3-a59f-28a8-664d-5e8df30be130@network-heretics.com>
In-Reply-To: <d84000f3-a59f-28a8-664d-5e8df30be130@network-heretics.com>
From: kai zhu <kaizhu256@gmail.com>
Date: Thu, 26 Nov 2020 23:09:18 -0600
Message-ID: <CALPJ473di+ThrK0c33dXL84wv70RuLJxHvv7s=5=i-Jot+gvZQ@mail.gmail.com>
Subject: Re: [wasm] sqlite as rfc-spec'd web-interchange-format?
To: Keith Moore <moore@network-heretics.com>
Cc: IETF Discussion Mailing List <ietf@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000002cc4d205b50faa44"
Archived-At: <https://mailarchive.ietf.org/arch/msg/ietf/pUeY8gDf8XwKSm5ZEz-5K8mz8lc>
X-BeenThere: ietf@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: IETF-Discussion <ietf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ietf>, <mailto:ietf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ietf/>
List-Post: <mailto:ietf@ietf.org>
List-Help: <mailto:ietf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ietf>, <mailto:ietf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 27 Nov 2020 05:09:31 -0000

> it is lousy at handling concurrent queries
lousy compared to what? localstorage / indexeddb / redux ?
as frontend-developer, our data-store options all suck at concurrency and
are either 1) too toy-case (localstorage) or 2) too difficult to use vs.
wasm-sqlite queries.


> In my experience a lot gets lost in translation between sqlite tables and
other databases
its not perfect for sure, but say i want to serialize/revive following
datasets in browser:
    - catalog of shop-items with fulltextsearch
    - customer's online shopping-cart
    - [subset of] enron-email with fulltextsearch
    - queryable 10-year historical-data of all s&p500 stocks

if not as [wasm] sqlite-database, what better serialization-options
are there for interchanging above datasets over the web?  also if ietf is
not a suitable forum, let me know if there are better places to raise this
issue.

On Thu, Nov 26, 2020 at 7:58 PM Keith Moore <moore@network-heretics.com>
wrote:

> On 11/26/20 7:08 PM, kai zhu wrote:
>
> i'm noob to mailing-list, and if you think there's more appropriate place
> for subject, please let me know.
>
> motivation:
> as product-developer, i waste huge amount of time reinventing error-prone
> serializers/revivers to exchange complex-datasets across web.
> standardizing sqlite's file-format would reduce integration-headaches
> between me / teammates / 3rd-parties, since we could more easily agree to
> use wasm-sqlite's standard serializers/revivers (instead of everyone
> reinventing their own for the web).
>
> why sqlite as web-interchange-format?
> 1.
> wasm-sqlite's serializers/revivers are opensource and accessible to
> web-clients
> 2.
> The [U.S.] Library of Congress Recommended Formats Statement (RFS)
> includes SQLite as a preferred format for datasets
> <https://www.loc.gov/preservation/resources/rfs/data.html>. [1]
> 3.
> sqlite's last file-format (v4) remains stable and unchanged since 2006
> 4.
> all sqlite file-formats since 2004 (v1, v2, v3, v4) are intended to be
> forward-compatible with future sqlite releases
> 5.
> sqlite is the "Most Widely Deployed and Used Database Engine" (and
> perhaps second most widely deployed software library, after libz). [2]
>
> the spec for sqlite's file-format is here [3].  i'm no expert at reading
> it, but am wondering how feasible to translate it to an rfc-spec (minus the
> journaling part)?
>
> -kai
>
>
> I've been badly burned by the sqlite library more times than I can count.
> Unless it's been fixed fairly recently, it is lousy at handling concurrent
> queries, so for that reason alone promoting the file format might be a
> disservice.
>
> But maybe it makes some sense as a database interchange format.   Maybe.
> In my experience a lot gets lost in translation between sqlite tables and
> other databases, but maybe not so much that it's useless as a way to convey
> datasets. It's probably a useful format for use in information transfer and
> maybe even simple single-user queries, but beware of using the sqlite
> library to make any kind of services providing concurrent access to more
> than one process.
>
> I'm also not sure whether IETF can attract enough of the right kind of
> expertise to do a good job at this.
>
> But I do suspect there's a need for something like this to be
> standardized, by someone.
> Keith
>
>
>