#datamodel — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #datamodel, aggregated by home.social.
-
“Status” columns in Oracle
I wrote this blog post a while ago, and I’ve just spotted it in the backlog drafts, so I though it might be time to publish it. This may be old news to many of you, but I sometimes work on systems where consideration for how to store STATUS columns (or more accurately, columns with low cardinality / few values) at the design stage would have saved an awful lot of problems.
In the scenario where you are recording the status of an action within an Oracle table, there are many ways to accomplish it. However, some ways are better than others.Let us say that we have 2 statuses; “NOT YET PROCESSED” and “COMPLETE”.
Let us also assume a 1,000,000,000 rows table for sizing purposes, with 1,000 rows “NOT YET PROCESSED” and all of the rest set to “COMPLETE”.
We could store and index these in several different ways:
Storing a descriptive status
CREATE TABLE STATUS_TAB (prim_key NUMBER, otherdata VARCHAR2, etc... STATUS VARCHAR2(20) NOT NULL );We could store the values as they are represented above. Very descriptive, but it will waste a lot of space.
Storing the word “COMPLETE” one billion times will take about 7.5 GB.
There’s also no guarantee that you will have good data integrity – the data is not being validated against a STATUS_DESCRIPTION, so we should also have CHECK constraint to ensure only the values we want to have in the table are there.Using a number to represent the staus
CREATE TABLE STATUS_TAB (prim_key number, otherdata VARCHAR2, etc... STATUS number NOT NULL);In this scenario, a 0 would represent “NOT YET PROCESSED” and a 1 would represent “COMPLETE”. Much better, but changing status from 0 to 1 will increase the size of your row by 1 byte.
“0” takes 1 byte to store in Oracle.
“1” takes 2 bytes to store.
You could cause some possible row migrations, and increase your storage requirement from 1GB to 2 GB for this column.We would need a small second table STATUS_DESCRIPTION with a foreign key relationship, to explain the status and keep everything nice and relational with good data integrity.
Using a single character for the status
CREATE TABLE STATUS_TAB (prim_key number, otherdata VARCHAR2, etc... STATUS varchar2(1) NOT NULL);Now, an “N” would represent “NOT YET PROCESSED” and a “C” would represent “COMPLETE”. Even better, now it’s just 1 byte to store your character, regardless of status. You still need 1 GB to store this data though.
We would need a small second table STATUS_DESCRIPTION as before.
Histograms: assuming you wish to query via the status, we need to allow Oracle to create a frequency Histogram on the indexed column in all scenario’s above, the optimizer would understand that there are very few values for the “not yet processed” status and many for “complete”, meaning that the index could be used when querying for the rare values. Without the histogram, the index is unlikely to be used for any value as Oracle would assume a 50/50 split between the 2 values and 500,000,000 single block lookups from the index isn’t going to be a selected access path.Using NULL to represent COMPLETE
CREATE TABLE STATUS_TAB (prim_key number, otherdata VARCHAR2, etc... STATUS varchar2(1) ) ;Now, an “O” would represent “NOT YET PROCESSED” and “NULL” would represent “COMPLETE”. Now it’s just 1 byte to store your character before you process the data and NO bytes to store it when you are complete, assuming there are no columns in the table following the STATUs column. Oracle does not store NULLs at the end of a table if they are not there.
Better still, because NULL’s are not stored within B-Tree indexes within Oracle, and I suspect the query “show me what I need to process” is a lot more common than “show me what I have processed”, putting an index on a 1,000,000,000 row table with 1,000 unprocessed rows will result in an index containing 1000 bytes (plus 10 byte rowid per entry, plus block overhead).That’s not a very big index – a couple of blocks for a potentially huge table and would be extremely quick to read. When querying for a value which is not NULL, the index would be very useful.
We would need a small second table STATUS_DESCRIPTION as before.
Using BOOLEAN type
CREATE TABLE STATUS_TAB (prim_key number, otherdata VARCHAR2, etc... STATUS BOOLEAN ) ;If you ony have 2 status levels, and will definitely not have more than 2, you could use the BOOLEAN type to store the status. This gives a TRUE or FALSE option but, and this is important in this context, a BOOLEAN takles 1 bytes to store and still has a length byte so it’s no more efficient from a storage perspective, and somewhat less flexible.
Caveat: All sizes are very approximate and don’t account for block overhead, length byte per column and – in an index – the storage of the ROWID, which takes 10 bytes per entry.
#ai #data #dataModel #database #design #flag #lowCardinality #model #null #oracle #sql #status #technology -
CVE Alert: CVE-2026-63720 - koxudaxi - datamodel-code-generator - https://www.redpacketsecurity.com/cve-alert-cve-2026-63720-koxudaxi-datamodel-code-generator/
#OSINT #ThreatIntel #CyberSecurity #cve-2026-63720 #koxudaxi #datamodel-code-generator
-
watch now : https://zurl.co/7Icq7
Mapping Data Lake Objects (DLO) to Custom DMOs in Salesforce Data Cloud | Complete Step-by-Step Guide
#Salesforce #SalesforceDataCloud #DataCloud #DataLakeObject #DLO #DMO #CustomDMO #DataModel #Customer360 #CRM #SalesforceDeveloper #SalesforceAdmin #DataEngineering #DataIntegration #Trailhead #SalesforceTutorial #PeoplewooSkills #Learning #TechTutorial #CloudComputing
-
Watch Now: https://zurl.co/s0QN5
Why Identity Resolution is Crucial in Salesforce Data Cloud | Complete Beginner's Guide
#Salesforce #SalesforceDataCloud #IdentityResolution #Customer360 #DataCloud #SalesforceTutorial #SalesforceDeveloper #SalesforceAdmin #DataModel #CustomerDataPlatform #CDP #SalesforceInterview #Peoplewoo -
#rdf #linkeddata #LOD #datamodel
{3/n} But I really want something in the specs that states this requirement in a more hard and fast way and I'm not finding it. For example, RDF 1.1 Concepts and Abstract Syntax > 3.1 Triples doesn't come out and provide any req's for the predicate other than that it is an IRI.
I thought that perhaps The RDF Concepts Vocabulary (RDF namespace) properties for reifying triples might help, but -- to my surprise -- rdf:predicate has rdfs:range rdfs:Resource -- I expected this to be rdf:Property.
Thus, I'm not currently coming up with anything from the specs (thus, looking for wisdom -- entirely possible and in fact dependable that I am missing things), but rather, only what seems like convention. -
#rdf #linkeddata #LOD #datamodel
{ 1/n } Reviewing an RDF metadata application profile, came across an IRI used as a predicate in metadata description set triples, looked at modelling from the source:
```Turtle
<http://www.ebu.ch/metadata/ontologies/ebucore/ebucore#ContentAlert> a rdfs:Class ;
rdfs:label "Content alert"@en ;
rdfs:comment "To provide information about a particular type of content potentially sensitive."@en ;
rdfs:subClassOf <http://www.ebu.ch/metadata/ontologies/ebucore/ebucore#Type> .
```Said something like "Oh, well, that's a class, we can't use that as a property, we'll want to change that."
Was asked the question "Why can't we use that IRI as a property?"
The fact that you can't use a resource that is an instance of rdfs:Class as a predicate in an RDF triple -- or, at least, you shouldn't -- seemed self-evident to me. But I found I was somewhat at a loss to come up with what I consider a solid response about why this is the case based in RDF specs.
Thus, here I am looking for wisdom on the internet.
To say a bit more... -
I've been working on data models for #Wikidata type specimen items & structured data for #WikimediaCommons specimen images. This is part of my Wikimedian in Residence & is a collaboration with Brodie Satherley from Auckland Museum.
See https://www.wikidata.org/wiki/Wikidata:WikiProject_Natural_History_Specimen_Data_Model
#NaturalHistory #TypeSpecimen #DataModel #StructuredDataCommons -
#SIEM #security #logs #blue , I would rather threat hunt but here we are. Does it make sense to catalog all log sources and have an example for each one? #knowyourdata right? When is too much documentation too much ? It makes sense to me I guess to catalog all sources than document where the logs would go in a #datamodel and how to query them.
-
🚀 Breaking News: Matt Brown discovers that your destiny is not in the stars, but in your data model! 🌌 Apparently, #startups should prioritize abstract concepts because, clearly, the gravitational pull of "core abstractions" will save them from a black hole of irrelevant features. 🎩✨
https://notes.mtb.xyz/p/your-data-model-is-your-destiny #BreakingNews #DataModel #CoreAbstractions #Innovation #HackerNews #ngated -
I look forward to the Autum School "Modern Stained Glass - Metadata - AI" in Münster next week 😊. This is a chance to present what we are doing in @nfdi4objects in the field of #materialheritage and what is the #ObjectBiography. This is a great chance to show the #datamodel based on the #NFDI4ObjectsObjectOntology my colleague Sarah Wagner at #CDI @FAU implemented in the #VRU #WissKI.
I look forward to the discussions and to receive feedback + needs from the #community for our developments.
1/2 -
Sehr interessante Keynote von Clarisse Bardiot beim #DraCorSummit u.a. zu Ontologies für Performing Arts. Hab da gerade einiges neues gelernt und werd mir das ein oder andere mal genauer anschauen.
Z.B. https://linked.art
#DataModel #ontology #PerformingArts #InformationScience -
A Gentle Introduction to GDAL, Part 1 [of 6]
--
https://medium.com/planet-stories/a-gentle-introduction-to-gdal-part-1-a3253eb96082 <-- shared technical resource
--
https://www.osgeo.org/projects/gdal/ <-- #GDAL page at @OSGEO
--
[a little older tutorial - but digging in in my free time]
#GIS #spatial #mapping #GDAL #tutorial #workedexamples #opensource #alternative #translatorlibrary #vector #raster #usecase #OSGEO #datamodel #onlinelearning
@osgeo -
Ah, another riveting 2000-word #manifesto on creating the perfect tool to think about thinking 🤔🛠️! Because, clearly, scientists have been struggling all this time without the magical musings of Jon Sterling 🌟✨. Who knew the real barrier to scientific progress was the lack of a proper "information data model"? 🙄📊
https://www.forester-notes.org/tfmt-0001/index.xml #scientificthought #thinkingtools #datamodel #JonSterling #HackerNews #ngated -
I wonder if a publicly available datamodel for project management solutions exists
it's be so useful 😕
-
Here are the slides (in german) from the #GND-Forum "NFDI, FID & Co" about the #researchdata in @nfdi4objects. They include an overview about the #heterogenous data of our consortium, the usage of #terminologies and our work to #harmonize the #archaelogical and #object data to make them #fair, such as the development of a #minimumdata recommendation and a #cidoccrm based #datamodel for the #objectbiography. https://zenodo.org/records/14359746
#nfdirocks #nfdi #authorityfiles #vocabularies #LIDO -
On my way to @FAU to meet with my dear colleague Sarah to discuss and work on our #datamodel for the #objectbiography #objectbiographies in @nfdi4objects. I look forward to those 3 days. #nfdirocks #nfdi #dataintegration #digitalheritage 🌐😊🏰🏺 https://zenodo.org/records/13936583
-
Tools or applications meant/marketed by their developers to manage bookmarks and other items but fall apart with mid 5 digit number of entries indicates that data model used has significant problems and that the developer doesn't have the knowledge to handle data well.
If the tools primary purpose is to handle data, that's not a good sign…
#Software #DataModel -
Anyone familiar with CIDOC CRM? How does one link a E31 Document (e.g. drawing, photograph) with a E36 Visual item (i.e. digital file)?
-
Today I tried to schedule a bloodwork appointment that required fasting for 12 hours. I aimed for the earliest slot possible. Booking it was much harder than it needed to be.
Your #datamodel shouldn’t dictate your #userinterface.
https://www.joecotellese.com/posts/data-models-vs-ux-design/
-
Blog post about a new #nodegoat feature: Data Publication Module. Publish any project as a standalone data publication which hosts both the data model and all of its data:
https://nodegoat.net/blog.s/74/new-data-publication-module
#opendata #openscience #zenodo #digitalhistory #histodons #DigitalHumanities #datapublication #datamodel @histodons
-
Session 8a of #dhbenelux2024 covers the disambiguation and annotation of historical #text, addressing many challenges which we also faced in our #DigiKar project. The first group of presenters talk about their #datamodel for person reconstructions. #dhbenelux24 @DigiKAR
-
IZO (Informatievoorziening (langdurige) Zorg en Ondersteuning)
De IZO-community is er voor iedereen die werkt aan digitale gegevensuitwisseling en databeschikbaarheid in de langdurige zorg en ondersteuning.
Bij IZO komen partijen, professionals en programma’s digitaal en fysiek bij elkaar om informeel kennis en ervaringen uit te wisselen over ontwikkelingen richting een duurzaam informatiestelsel in de zorg en ondersteuning. IZO bevordert daarmee de samenhang in de digitale gegevensuitwisseling in de langdurige zorg en ondersteuning. Zodat cliënten en mantelzorgers meer regie ervaren, zorgprofessionals beter worden ondersteund in de zorgverlening, en inkopers, beleidsmakers, toezichthouders, onderzoekers en systeempartijen kunnen werken met betrouwbare en herbruikbare data. IZO verbindt, informeert en inspireert over digitale gegevensuitwisseling.
Er zijn veel partijen in de langdurige zorg en ondersteuning, die vaak aan dezelfde oplossingen werken. IZO is opgericht als plek om elkaar te informeren, inspireren en af te stemmen over de informatievoorziening.
Maandelijks zitten de deelnemende partijen bij Platform IZO informeel met elkaar om tafel om overzicht en samenhang tussen de initiatieven in informatievoorziening te creëren. De leden zijn de schakel tussen IZO en hun achterban.
IZO bewerkstelligt de bevordering van de samenhang door een goed netwerk te organiseren tussen de betrokken partijen.IZO is een samenwerking van ActiZ, BIDN, CAK, CIBG, CIZ, Jeugdzorg Nederland, Ketenbureau i-Sociaal Domein, de Nederlandse ggz, NZa, Nictiz, OIZ, Valente, VECOZO, VGN, VNG, V&VN, Ministerie van VWS, ZN, Zorginstituut Nederland en Zorgthuisnl.
#actieprogramma #administratie #bemiddelingsregister #berichtenverkeer #cliëntdossier #cliëntendossier #community #databeschikbaarheid #datamodel #denktank #domeinoverstijgend #domeinoverstijgende #ECD #eOverdracht #framework #functies #gegevens #gegevensuitwisseling #generieke #indicatieregister #informatielandschap #informatiestelsel #informatievoorziening #infrastructuur #Innovatie #interoperabiliteit #istandaarden #IV #iwlz #IZO #kennisjam #KIKV #lagenmodel #langdurig #langdurige #modernisering #nationaleVisie #netwerkmodel #netwerkperspectief #ondersteuning #platform #platformIZO #samenhang #sociaalDomein #toekomstbeeld #vijflagenmodel #VWS #wlz #wmo #Zorg #zorginformatie #ZorginstituutNederland