Re: Describing Postgres as "object-relational" on the home page

Поиск
Список
Период
Сортировка
От Karl O. Pinc
Тема Re: Describing Postgres as "object-relational" on the home page
Дата
Msg-id 20240101134459.0d23672b@slate.karlpinc.com
обсуждение исходный текст
Ответ на Re: Describing Postgres as "object-relational" on the home page  ("Jonathan S. Katz" <jkatz@postgresql.org>)
Ответы Re: Describing Postgres as "object-relational" on the home page
Re: Describing Postgres as "object-relational" on the home page
Список pgsql-www
On Sun, 31 Dec 2023 14:40:49 -0500
"Jonathan S. Katz" <jkatz@postgresql.org> wrote:

> On 12/31/23 12:40 PM, Karl O. Pinc wrote:
> > On Sun, 31 Dec 2023 10:42:11 -0500
> > "Jonathan S. Katz" <jkatz@postgresql.org> wrote:
> >   
> >> I think it's a good idea to talk about the types of
> >> functionality/workloads PostgreSQL can support, whether in core or
> >> extensions (geospatial, time series, vector/AI/pick-the-buzzword,
> >> distributed, etc.), and perhaps the starting point is adding that
> >> language that suggests that. We can then link to the wiki, perhaps
> >> make a "List of Extensions" page that's similar to "List of
> >> Drivers"[4] (which [4] is now linked to from the docs) that
> >> categorizes them. [5] has a nice starting point on the aggregation
> >> of what's out there.  
> >   
> >> [5]
> >> https://gist.github.com/joelonsql/e5aa27f8cc9bd22b8999b7de8aee9d47
> >>  
> > 
> > There's also https://pgxn.org, the PostgreSQL Extension Network.
> > It's interface, a list of tags with font sizes that correspond to
> > frequency of occurrence, gives me an idea.
> > 
> > Give up.  Add the sentence "PostgreSQL supports many popular
> > buzzwords, which make it more than a relational database."
> > and link "buzzwords" to a page of buzzwords.  Since "buzzword"
> > is so generic, "Geospatial" can appear next to "ACID" next to "SQL"
> > without concern.  Each buzzword could link to a google search of
> > "PostgreSQL" + "<buzzword>".  To get fancy, let the user choose the
> > search engine.  Or really give up and link to a buzzword page on
> > the pg wiki.  
> 
> I don't really follow what you're suggesting here. 

The suggestion here is to first, change the "object-relational" sentence
as has been discussed.  (Then, tl,dr; use a interactive "word cloud")
But instead of coming up with wording describing functionality,
workloads, etc., to simply say "PostgrSQL does lots more stuff." on
the home page and link that to a page with nothing but keywords.
The keywords can be linked to descriptions or project pages,
or not.

That way nobody has to write sentences, and more importantly, nobody
has to maintain much when there's a new hot technology or
figure out what's important enough to put on the home page.  Just add
a new keyword to the keywords page.  (Especially labor free if
the keyword page is a pg wiki page.)

To extend this idea, just a list of keywords is not engaging.
Categorizing the keywords by attaching one or more tags to each opens
up possibilities for interaction and alternate ways to view the
keywords.  In particular the user can find keywords by tag and so
keywords need not be categorized in a fixed fashion.
This would likely only be interesting if the keywords were linked to
somewhere so that after getting a relevant set of keywords
the reader could follow the links to find information or tools.

In addition to tabular views, the https://pgxn.org sort of view,
a "word cloud", provides a useful overview.  In this presentation all
tags are displayed on a single page but the visual presentation
emphasizes those tags that are more important (e.g., occur
with more frequency) by displaying them in a larger font.
In this view, clicking on any tag shows its associated keywords
to facilitate exploration.
(From an implementation perspective it might be simplest if each
keyword was also a tag, so that there's no need to make a distinction
between tags and keywords when searching.)

Example:

Here are technology keyword/category tag pairs:
(CSV file attached)

keyword,tag

transactions,transactions
transactions,SQL standards
transactions,data integrity
transactions,atomicity
consistency,consistency
consistency,data integrity
constraints,constraints
constraints,data integrity
constraints,SQL standards
isolation,isolation
isolation,SQL standards
isolation,concurrency
atomicity,atomicity
atomicity,SQL standards
durability,durability
durability,data integrity
durability,SQL standards
SQL,SQL
SQL,SQL standards
SQL,interfaces
geospatial,geospatial
geospatial,database types
spatial,spatial
spatial,database types
time series,time series
time series,database types
temporal,temporal
temporal,database types
temporal,auditing
temporal,security
vector,vector
vector,database types
vector,AI
AI,AI
failover,failover
failover,high availability
high availability,high availability
clustering,clustering
clustering,high availabiltiy
clustering,high performance
partition,partition
partition,high performance
table inheritance,table inheritance
table inheritance,SQL standards
table inheritance,object-relational
extensible types,extensible types
extensible types,object-relational
relational,relational
relational,database types
client-server,client-server
client-server,database types
GUI,GUI
GUI,interfaces
views,views
views,interfaces
views,SQL standards
materialized views,materialized views
materialized views,interfaces
materialized views,SQL standards
materialized views,high performance
triggers,triggers
triggers,data integrity
triggers,SQL standards
stored procedures,stored procedures
stored procedures,SQL standards
stored procedures,high performance
row level security,row level security
row level security,SQL standards
row level security,security
SELinux,SELinux
SELinux,security
table inheritance,table inheritance
table inheritance,SQL standards
table inheritance,object-relational
security,security
SQL standards,SQL standards
data integrity,data integrity
auditing,auditing
auditing,security
concurrency,concurrency
interfaces,interfaces
database types,database types
high performance,high performance
object-relational,object-relational
object-relational,database types
security,security


List of keywords:

AI
atomicity
auditing
client-server
clustering
concurrency
consistency
constraints
database types
data integrity
durability
extensible types
failover
geospatial
GUI
high availability
high performance
interfaces
isolation
materialized views
object-relational
partition
relational
row level security
security
SELinux
spatial
SQL
SQL standards
stored procedures
table inheritance
temporal
time series
transactions
triggers
vector
views


List of keywords with a "database types" tag:

client-server
geospatial
object-relational
relational
spatial
temporal
time series
vector

And finally, a word cloud image is attached.  Of course there
are no hyperlinks to the list of tagged keywords as there would be on a
web page.  Clicking on "database types" would get the above list
of database type keywords.  (The keywords would then each link
to somewhere useful.)  Image generated with:

cut -d , -f 2 pg_keywords.csv | grep -v '^tag$' | sed 's/ //g' | sed 's/-//g' |  wordcloud_cli  > pg_keywords.png

(There is a python3-wordcloud package in Debian which has
wordcloud_cli.
https://github.com/amueller/word_cloud
Also available at pypi.org.)
)

(It occurs to me that "relational" would be much bigger if I was
more consistent in using it as a tag.)

Perhaps the tuples of keywords, their hyperlink targets, and their
tags could be opened up to PG contributors in a wiki-like way.  Or
maybe have tighter control over the keywords' hyperlinks, given
their importance.  Accept patches to the keyword/tag db, or whatever
makes sense to reduce the maintenance burden while facilitating
change.

Regards,

Karl <kop@karlpinc.com>
Free Software:  "You don't pay back, you pay forward."
                 -- Robert A. Heinlein

Вложения

В списке pgsql-www по дате отправления:

Предыдущее
От: "Jonathan S. Katz"
Дата:
Сообщение: Re: Describing Postgres as "object-relational" on the home page
Следующее
От: "Karl O. Pinc"
Дата:
Сообщение: Re: Describing Postgres as "object-relational" on the home page