9front - general discussion about 9front
 help / color / mirror / Atom feed
* [9front] SQL
@ 2021-01-11  3:20 William Gunnells
  2021-01-11  3:56 ` p. j.
  2021-01-11  4:07 ` Kurt H Maier
  0 siblings, 2 replies; 7+ messages in thread
From: William Gunnells @ 2021-01-11  3:20 UTC (permalink / raw)
  To: 9front

Okay so plan9 does not have DB because...well it's a file based
system. Okay okay so how would you manage large data. grep would suck.
I guess sqlite would work but is that even ported. I read somewhere
about using: https://github.com/harelba/q/ I don't know about that. I
don't have a practical use as of yet. Just curious. It seems like a
challenge to build some sort of http server in plan9 with basic
webauth capability and store data in a file. What's the file size
limitation? 9front has a list server. I'm sure that data is pretty
extensive but those pages are not being served. Thoughts?

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [9front] SQL
  2021-01-11  3:20 [9front] SQL William Gunnells
@ 2021-01-11  3:56 ` p. j.
  2021-01-11  4:07 ` Kurt H Maier
  1 sibling, 0 replies; 7+ messages in thread
From: p. j. @ 2021-01-11  3:56 UTC (permalink / raw)
  To: 9front

something like q or k would be interesting. if someone was looking to
port it, i would recommend ngn's implementation and the clarity and
serenity of mind to work with whitney-style c:
https://git.sr.ht/~ngn/k/



On Sun, Jan 10, 2021 at 10:52 PM William Gunnells
<thinktankworkspaces@gmail.com> wrote:
>
> Okay so plan9 does not have DB because...well it's a file based
> system. Okay okay so how would you manage large data. grep would suck.
> I guess sqlite would work but is that even ported. I read somewhere
> about using: https://github.com/harelba/q/ I don't know about that. I
> don't have a practical use as of yet. Just curious. It seems like a
> challenge to build some sort of http server in plan9 with basic
> webauth capability and store data in a file. What's the file size
> limitation? 9front has a list server. I'm sure that data is pretty
> extensive but those pages are not being served. Thoughts?

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [9front] SQL
  2021-01-11  3:20 [9front] SQL William Gunnells
  2021-01-11  3:56 ` p. j.
@ 2021-01-11  4:07 ` Kurt H Maier
  2021-01-11  8:01   ` Steve Simon
  2021-01-11 15:36   ` ori
  1 sibling, 2 replies; 7+ messages in thread
From: Kurt H Maier @ 2021-01-11  4:07 UTC (permalink / raw)
  To: 9front

On Sun, Jan 10, 2021 at 07:20:27PM -0800, William Gunnells wrote:
> Okay so plan9 does not have DB because...well it's a file based
> system. Okay okay so how would you manage large data. grep would suck.
> I guess sqlite would work but is that even ported. I read somewhere
> about using: https://github.com/harelba/q/ I don't know about that. I
> don't have a practical use as of yet. Just curious. It seems like a
> challenge to build some sort of http server in plan9 with basic
> webauth capability and store data in a file. What's the file size
> limitation? 9front has a list server. I'm sure that data is pretty
> extensive but those pages are not being served. Thoughts?

Plan 9 has databases.  One example is ndb.  Another is kenji's desktop
search system, kirara.  

Your question conflates the concept of a database with the access
mechanism.  SQL is a query language.  The reason it's not got much
traction on Plan 9 is that most SQL engines are closely tuned to their
host environment in order to stanch the bleeding on the traumatic
performance hit taken when you wind up using a data access language that
doesn't map well to the actual storage primitives your operating system
provides.

ndb declares relationships in terms of tuples, which are just
collections of key-value pairs.  Kirara works more like an indexing
system that stores points from a given string to the file that contains
it.  Neither of these approaches require the massive amount of effort
that would be required to write a performant SQL engine that doesn't
corrupt your data along the way.

On Plan 9, people tend to think about what data they're trying to
access, and create data structures that make it easy to do the task your
program is trying to accomplish.  

I don't know why you think making a web server would be such a
challenge, since eekee has provided a pretty good one written in shell
script (rc-httpd).  It includes HTTP Basic Auth, but works just as well
without it (for example, werc can handle its own user authentication).

I suppose the inevitable question is "what exactly are you trying to
accomplish?"  If the answer is "I'm not sure yet," then SQL in front of
a relational database might seem like a good idea.  But there's nothing
innate about tables and rows that can't be done with regular files and
indexes and shit.  In fact, that's what the RDBMSes are doing behind the
scenes anyway, unless they're backed by object storage, in which case
they've delegated to the object store.  At some point, on systems like
Unix and Plan 9, you have to open/read/write/close just like everyone
else.  You just have to decide how tall you want to build your
sandcastle of abstractions in the process.

khM

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [9front] SQL
  2021-01-11  4:07 ` Kurt H Maier
@ 2021-01-11  8:01   ` Steve Simon
  2021-01-11  9:42     ` Jens Staal
  2021-01-11 15:36   ` ori
  1 sibling, 1 reply; 7+ messages in thread
From: Steve Simon @ 2021-01-11  8:01 UTC (permalink / raw)
  To: 9front


there is pq, a database used to serve the 0800 er database to phone operators at at&t i believe.

-Steve


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [9front] SQL
  2021-01-11  8:01   ` Steve Simon
@ 2021-01-11  9:42     ` Jens Staal
  0 siblings, 0 replies; 7+ messages in thread
From: Jens Staal @ 2021-01-11  9:42 UTC (permalink / raw)
  To: 9front

On Mon, Jan 11, 2021 at 08:01:56AM +0000, Steve Simon wrote:
> 
> there is pq, a database used to serve the 0800 er database to phone operators at at&t i believe.
> 
> -Steve
>

I think there used to be a sqlite clone in /n/contrib
https://plan9.io/sources/contrib/fgb/replica/sqlite3/


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [9front] SQL
  2021-01-11  4:07 ` Kurt H Maier
  2021-01-11  8:01   ` Steve Simon
@ 2021-01-11 15:36   ` ori
  2021-01-11 16:58     ` Kurt H Maier
  1 sibling, 1 reply; 7+ messages in thread
From: ori @ 2021-01-11 15:36 UTC (permalink / raw)
  To: 9front

Quoth Kurt H Maier <khm@sciops.net>:
> 
> Plan 9 has databases.  One example is ndb.  Another is kenji's desktop
> search system, kirara.  

don't forget databases like cwfs or hjfs.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [9front] SQL
  2021-01-11 15:36   ` ori
@ 2021-01-11 16:58     ` Kurt H Maier
  0 siblings, 0 replies; 7+ messages in thread
From: Kurt H Maier @ 2021-01-11 16:58 UTC (permalink / raw)
  To: 9front

On Mon, Jan 11, 2021 at 07:36:52AM -0800, ori@eigenstate.org wrote:
> Quoth Kurt H Maier <khm@sciops.net>:
> > 
> > Plan 9 has databases.  One example is ndb.  Another is kenji's desktop
> > search system, kirara.  
> 
> don't forget databases like cwfs or hjfs.

Absolutely right.  I forgot to state my assumptions.

khm

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2021-01-11 17:28 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-11  3:20 [9front] SQL William Gunnells
2021-01-11  3:56 ` p. j.
2021-01-11  4:07 ` Kurt H Maier
2021-01-11  8:01   ` Steve Simon
2021-01-11  9:42     ` Jens Staal
2021-01-11 15:36   ` ori
2021-01-11 16:58     ` Kurt H Maier

9front - general discussion about 9front

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://inbox.vuxu.org/9front

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V1 9front 9front/ http://inbox.vuxu.org/9front \
		9front@9front.org
	public-inbox-index 9front

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.vuxu.org/vuxu.archive.9front


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git