If you are stuck dealing with #CrunchyData or #Bitnami for modern #postgresql in #k8s, let me turn you on to cloudnative-pg.io
TL;DR: An operator and CRDs for managing #psql on #k8s that actually fulfills the promise of the operator pattern. It just, you know, *operates* the stupid thing for you. And its multi-arch.
Amusingly, I found out about it because Crunchydata insists that ARM is super hard and reserved for enterprise customers only. (They've since made contrite noises about walking that back, but no actual movement yet.)
I've been running it for about 15 minutes and so far I am blown away. And weirdly it does not appear to have tried to spy on me! That oversight aside, it comes with full #prometheus support, base alarms, and a VERY nice #grafana dashboard. Handles clustering, failover, scaling, upgrades, all the things.
#postgresql #cloudnative #kubernetes #arm64 #homelab #turingpi
#crunchydata #bitnami #PostgreSQL #k8s #psql #prometheus #grafana #cloudnative #kubernetes #arm64 #homelab #TuringPi
My third #emacs package is on #MELPA! Use heroku.el to as easily manage your #heroku instances, as you manage git with #magit. Transient is the most efficient interface possible! You can tail logs, run commands like bash and python, restart and promote dynos, connect to Heroku Postgres with #psql using built-in Emacs sql functionalityand more!
#emacs #melpa #heroku #magit #psql
Wondering if there is a way to handle both pipe to file and output at terminal at once, something like the tee command.
@hector_sab Oh, it gets even cooler: this functionality is part of readline, and I _think_ also libedit, so anything depending on them potentially has vi mode too! 🙌
Including other shells like #bash, #dash, #fish, but also tools like #psql and so on 👌
We saw this with the whole #webscale debacle when multiple NoSQL databases had websites that looked more like lifestyle products than actually, you know, things designed to store and retrieve data.
"We can't possibly run our infrastructure on a Legacy Database™ like #PSQL we need NoSQL or it won't be #webscale!" is something that with very, very little hyperbole I have actually hear from an actual developer (1. my toaster is NoSQL, 2. not to be broccoliman but you have 10k QPS, sit down Dan).
On the other end of the spectrum we could set up like this, with everything in separate boxes:
1. #CloudArmor as a WAF
2. A #CDN
3. #nginx as a reverse proxy.
4. #Vertx as an HTTP server.
5. #Memcached for caching
6. #RabbitMQ as a queue system.
7. Vertx EventBus as a controller.
8. Verticles as processors, run on a cluster.
9. #PSQL for a database and post store
10. #GCS for media storage and backups.
11. #Solr for search.
12. #ZooKeeper for coordination of Solr an Vertx.
4/
#cloudarmor #cdn #nginx #vertx #memcached #rabbitmq #psql #GCS #solr #Zookeeper
Usa el editor que quieras (Vim) desde psql simplemente con dos teclas: “\e”
https://asciinema.org/a/543436
https://www.crunchydata.com/postgres-tips#edit-your-psql-queries-in-editor-of-your-choice
#vim #psql
Finally: #PSQL is actually a very, very good database. If I were building my own implementation I would seriously consider using it, but using it _differently_ from how mastodon uses and configures it. It does have quirks, however, and does not play particularly nicely with sidekiq and rails.
There's _miles_ of good work to be done here in the config and the schema for a contributor. There are limits, however, because of the way it is being used. No database does well if it is misused.
4/4
It is _much_ easier if you get this right from the get go. So start early. Take a stab based on your system and settings and be ready to tweak things later.
Fourth: #PSQL is at its worst on tables with lots and lots of updates and deletes that are under constant read pressure. If you start to see inexplicable or weird behavior around specific tables, that's something to look at. Especially because the schema that mastodon uses is, uh, the opposite of optimized.
3/
A few quick thoughts about #PSQL as a database and some things that new administrators running #mastodon instances may not realize
First, PSQL is _incredibly_ sensitive to the number of connections you have at a given time. The more connections, the worse your system is going to perform. While it can be tempting to just up the number of maximum connections for the purposes of Sidekiq you should almost certainly not do that arbitrarily 1/
#psql #mastodon #postgres #scalingMastodon
What can you do with a #CATMAID server? Say, let's look at the #Drosophila (vinegar fly, often referred to as fruit fly) larval central nervous system, generously hosted by the #VirtualFlyBrain https://l1em.catmaid.virtualflybrain.org/?pid=1&zp=108250&yp=82961.59999999999&xp=54210.799999999996&tool=tracingtool&sid0=1&s0=2.4999999999999996&help=true&layout=h(XY,%20%7B%20type:%20%22neuron-search%22,%20id:%20%22neuron-search-1%22,%20options:%20%7B%22annotation-name%22:%20%22papers%22%7D%7D,%200.6) or the #Platynereis (a marine annelid) server from the Jekely lab https://catmaid.jekelylab.ex.ac.uk/
First, directly interact by point-and-click: open widgets, find neurons by name or annotations, fire up a graph widget and rearrange neurons to make a neat synaptic connectivity diagram, or an adjacency matrix, or look at neuron anatomy in 3D. Most text–names, numbers–are clickable and filterable in some way, such as regular expressions.
Second, interact from other software. Head to r-catmaid https://natverse.org/rcatmaid/ (part of the #natverse suite by Philipp Schlegel @uni_matrix, Alex Bates and others) for an R-based solution from the Jefferis lab at the #MRCLMB. Includes tools such as #NBLAST for anatomical comparisons of neurons (see paper by Marta Costa et al. 2016 https://www.sciencedirect.com/science/article/pii/S0896627316302653 ).
If R is not your favourite, then how about #python: the #navis package, again by the prolific @uni_matrix, makes it trivial, and works also within #Blender too for fancy 3D renderings and animations. An earlier, simpler version was #catpy by @csdashm https://github.com/ceesem/catpy , who also has examples on access from #matlab.
Third, directly from a #psql prompt. As in, why not? #SQL is quite a straightforward language. Of course, you'll need privileged access to the server, so this one is only for insiders. Similarly privileged is from an #ipython prompt initialized via #django from the command line, with the entire server-side API at your disposal for queries.
Fourth, and one of my favourites: from the #javascript console in the browser itself. There are a handful of examples here https://github.com/catmaid/CATMAID/wiki/Scripting but the possibilities are huge. Key utilities are the "fetchSkeletons" macro-like javascript function https://github.com/catmaid/CATMAID/wiki/Scripting#count-the-number-of-presynaptic-sites-and-the-number-of-presynaptic-connectors-on-an-axon and the NeuronNameService.getInstance().getName(<skeleton_id>) function.
Notice every #CATMAID server has its /apis/, e.g., at https://l1em.catmaid.virtualflybrain.org/apis/ will list all GET or REST server access points. Reach to them as you please. See the documentation: https://catmaid.readthedocs.io/en/stable/api.html
In short: the data is there for you to reach out to, interactively or programmatically, and any fine mixture of the two as you see fit.
#Drosophila #natverse #MRCLMB #django #javascript #VirtualFlyBrain #Platynereis #NBLAST #python #navis #blender #catpy #matlab #psql #sql #ipython #catmaid