* Posts by Steve Channell

265 publicly visible posts • joined 19 Aug 2014

Page:

GCC 14 dropping IA64 support is final nail in the coffin for Itanium architecture

Steve Channell
Pint

segment registers were the difference

The intel 80386 introduced configurable size segments, which all the OS vendors used to wet segments to 32-bit and used a single address space, with segment selector registers set to this one large segment. Without much change it was possible to increase address space from 4Gb to 16Gb by using {code,stack,data,extra} registers. All the effort would fall to OS and compiler vendors,

AMD didn't just increase the addressing from 32 to 64 bits, they remapped segment registers as general purpose registers to ensure that AMD64 programs would always be faster than "whatever Intel called their version" (was it x86-64 or ia32-64, can't remember).. Fortunately Intel was persuaded to build AMD64 compatible chips

US 'considering' end to Assange prosecution bid

Steve Channell
Meh

his "crime" was hacking (badly), not journalism

unrelated to Chelsea Manning's big dump, Julian got impatient with a DoD hacker's caution and accessed servers himself without using a VPN - that not journalism

The clarifications are a formality - constitutional rights in the US universal (that why people sign visa waivers on planes to the US)..

It's likely that he'll be convicted, and allowed to serve his time in "spider land" (which will release him on licence). Aus doesn't want any blow-back if he kills himself, but also doesn't want him using his celebrity to run for political office

Catch Java 22, available from Oracle for a limited time

Steve Channell
Windows

Java is rubbish for AI workloads

Back when Generic Java (GJ) was mooted for as a successor for Java 2, ther4e was much debate about whether to bite-the-bullet and amend the Java bytecode to support runtime generics, but instead stuck with GJ type-erasure : at runtime ArrayList<T> is the same as Java 2 non-generic ArrayList. .NET 2 did bite-the-bullet and include runtime generics because it was thought that you could never replace C++ with arrays scattered across the heap.

Net result, betting that "everything will eventually be re-written in Java" was a mistake, because there is no equivalent of native arrays packed in continuous memory, and no support for primate data types that were not understood three decades ago

Steve Channell
Facepalm

Re: What's the point?

The paid version includes GraalVM which "promises" higher performance as long as you don't use any of the stupid API that can't work

Java 22 still includes RMIClassLoader 22 years after it was near universally agreed as a bad idea. RMIClassLoader is responsible for most security violations (including log4j & struts)

Nvidia turns up the AI heat with 1,200W Blackwell GPUs

Steve Channell

FP4 WTF

The distinction between G-Force and Quadro GPU used to be the latter sported full FP64 double precision floating point numbers while G-Force only supported FP32 single precision floating point numbers that were fine for games and mundane traditional calculations like Ballistic range calculation and Hydrogen Bombs

FP16 and later FP8 where billed as the advance that set Google Tensor Processing Unit (TPU) apart from GPU that were thought to be useful only for training.

With nVidia support for FP8 and FP4 in microcode, it's difficult not to see the end of any argument for dedicated TPU processors.

'We had to educate Oracle about our contract,' CIO says after Big Red audit

Steve Channell

Oracle Bills never go down

If You find your budget for Oracle licences is going down, expect an audit.

If your user count is going down, expect your discount to be reduced to keep the bill up.

If you fail the audit you lose your discount: there was an incentive to over provision licences.

when an audit is scheduled, Shut down any servers not currently used, and spinup postgress on at least one of them

Preview edition of Microsoft OS/2 2.0 surfaces on eBay

Steve Channell
Facepalm

Re: Worth noting the discovery that made OS/2 1 redundant

I thought I was doing well remembering back 35 years, Citation is difficult because none of the publications at the time were on the Internet..

I developed on OS/2 (1.1-,1.3) - it was rubbish for services unless you disabled real-mode applications (processor reset was used to switch from protected mode to real-mode and lost interrupts).

i have no evidence that IBM wanted OS2 to remain single CPU, but 80486 was the first x86 processor to have CMPXCHG needed for multi-CPU Critical sections

Steve Channell
Boffin

Worth noting the discovery that made OS/2 1 redundant

The 8086 could address 1Mb of memory in real-mode (20-bit addressing), while 80286 could address 16Mb (24-bit addressing) in protected-mode, and 80386 4Gb (32-bit addressing).

That 20-bit addressing consisted of 16-bit for segment (for 8080 compatibility), and 4-bits for segment selector (16 segments)

Through experimentation MS engineers found that the 80286 in real-mode could address 20 segment giving a usable address space 4Mb - a surprise to MS/IBM and Intel! Because the PC-AT could take a maximum of 4Mb anyway, the whole 286 protected mode (the original reason for OS/2) became completely redundant.

Windows 3 didn't start as a breakup with IBM, but as a way to push win-Word and Excel (that has been ported from Apple Macintosh) and get a head-start over IBM DisplayWrite, WordPerfect and Lotus.

Windows/386 (the variant of Windows 2) was a faster GUI platform because it used top-left origin for CRT (the standard for TV) rather than bottom-left of IBM terminals. translation of screen addresses meant OS/2 was always going to be a little bit slower than Windows 3.

The break-up came because IBM didn't want OS/2 to be a multi-processor OS to protect its mainframe platform. Windows NT was originally going to be OS/2 3.

Apple Vision Pro is creating a new generation of glassholes

Steve Channell
Joke

Zaphod Beeblebrox mode?

anyone who's watched (or listened to the original radio-4) Hitchhikers guide to the galaxy, will know that Zaphod Beeblebrox had sun glasses that turned black when something frightening happened to him.

The apple glassholes are unique in that they are not "augmented reality" in the conventional sense, but instead VR where the camera image is overlayed behind the VR images.. and consequently go black during in an accident. The other feature is that you don't "see" someone eyes, but an OLED display that projects an image taken from the inside of the glassholes, for that authentic second-head appearance.

going to message the Douglas Adams estate, in case they fancy a few million quid for "prior art" patent infringement: Douglas would love that!

Tesla's Cybertruck may not be so stainless after all

Steve Channell
Joke

After-market paint job?

Sounds like there is going to be quite a market for after market paint jobs! - you know, that clear outer layer of paint you find on normal cars.

There might even be some "survivalists" that choose camouflage transfers to match assault rifles they use for "legitimate deer hunting" (clearly unaware that several hundred bullets ruins the texture of the meat)

Microsoft seeks Rust developers to rewrite core C# code

Steve Channell
Windows

worth reading the job description

Worth noting that the job advert is for the web-substrate for office - running in a browser. Rust is better than C# for web-assembly because it doesn't use a garage collector (C# downloads mono runtime). Rust is better for edge-security than C++ because it blocks unallocated read (that could reveal keys).

Rust has a bright future, but it's biggest impact is likely to be the open release of C++ code analysis tools that MS uses internally, and an alias for std::unique_ptr<T> ( T^ anyone?).

C# is now the undisputed fasted managed language, and TIOBE language of the year for good reason, but there are still situations where managed languages are not be best fit.

The Land Before Linux: Let's talk about the Unix desktops

Steve Channell
Windows

Re: Proprietary

If you were a device developer, that is exactly what you could do.. All operating systems have source licences for device developers - what you couldn't do is ship the product.

I loved "the land before Linux" story, but couldn't work out which episode of star-wars it was a parody for, but am looking forward to the the "return of the jedi" edition. The only thing missing is the plot hint about Xenix for the "I'm your father Luke" line.

Those familiar with UNIX SVR4, will remember the SunOS boot sequence where the Microsoft (C) is included alongside AT&T. The original "Unix on the desktop" outfit got the gig for PC-DOS because [1] IBM was already in the room shopping for a Basic interpreter [2] The CP/M author had snubbed IBM [3] MS had pitched Xenix to IBM for the desktop - IBM thought "if you can do Xenix, you can do DOS".

MS was a Unix shop before OS/2 (they developed and ran office apps on DEC Unix) - but changed as PC's became more powerful. ~Nobody should forgive them for the Balmer years, but shouldn't rewrite history either.

Apple has botched 3D for decades. So good luck with the Vision Pro, Tim

Steve Channell
Windows

Unity means it is different to every other Apple attempt at 3D

Worth noting that Unity is also used by Magic Leap.. so they start with a mature 3D platform with a mature VR integration.

I'm sure Apple developers can upskill to C#

Postgres pioneer Michael Stonebraker promises to upend the database once more

Steve Channell

Re: lets do the time-walk again

I've designed databases schema for DB2, Teradata, Oracle and SQL/Server. Raw volumes were introduced for Sybase, Oracle and others because (at the time) Unix only provided buffered synchronous IO. DB2 never needed raw volumes because VSAM datasets were always asynchronous and translation from VSAM page address to cylinder, track, sector imposes little overhead.

I was skeptical of SQL/Server dropping raw volumes in the migration to NTFS (from OS/2 to NT), but direct async IO and list IO reduced the performance advantage. The biggest distinction now is that databases don’t need journaled files-system – Oracle ASMLib and MS Storage Space Direct avoid this but are still logically file-systems.

You’re right that NAS storage and S3 will never be as fast as a raw volume.

Steve Channell

lets do the time-walk again

The idea is far from new, and mirrors work done for IBM future system project (that eventually became the System/38 minicomputer then the AS/400), Pick, Mumps and yes WinFS.

It's also been a long time since File-systems were simply hierarchical directories for files stored on disk volumes, they've evolved into specialist databases in their own right.

If it's not new, the real questions are [1] what's different this time? [2] why do we need it? [3] will its performance justify the change? [4] is it better than other initiatives?

It's different because PostgresSQL and advanced file-systems are open-source, stable, modular and implement stable APIs - combining both functions is an engineering problem.

Why is more difficult because we no longer use raw-volumes to host high-performance transactional databases - Asynchronous IO and unbuffered file access largely eliminates FS overhead

Performance advantage of combined scheduling, memory management and indexing can only be achieved by moving the DBMS kernel into the OS kernel, but that means removing triggers/procedures or introducing a fresh attack surface for hackers

Developments around CXL Memory, pooled memory and memory semantic SSD are adding index technology to memory devices with GPGPU executing search functions - maybe the convergence of the future is database/memory not database/operating-system.

Not even LinkedIn is that keen on Microsoft's cloud: Shift to Azure abandoned

Steve Channell
Windows

Explains poor reliability

Not wishing to bug-up Azure, but I assumed recent availability problems with LinkedIn was due to AI priority for their servers - reassuring to known that it's nothing to do with Azure.

They would do well to think about Azure Stack to improve reliability

Microsoft floats bringing a text editor back to the CLI

Steve Channell
Windows

there 's a reason Vi and Violate start the same

It won't be emacs because every tool that ships with Windows has to be "supportable" by micrsofties.

It's likely to be something like PowerShell ISE

Snowflake puts LLMs in the hands of SQL and Python coders

Steve Channell
Meh

put down the cool aid

"Snowflake was founded in 2012 and was one of the early proponents of separating storage from compute" - shared disk parallel processing was the foundation of "Oracle Parallel Server" (sic) a quarter of a century ago.. what is new is applying it as a cloud only option.

The genius was [1] Identifying that AWS S3 solves the same problem as HDFS [2] Marketing an old idea as the next iteration of big data

The battle between open source and 'sort of' open source is as old as software

Steve Channell
Pint

Evolution

The open-source model used to be like "try before you buy", but the "buy" consisted of consulting, maintenance, training, support, documentation - you could just use it, but if your business depended on it, it was better to have a commercial contract. The market changed when hundreds of thousands of clients dwindled down to a few large service-providers who decided to in-source the services that companies like Hashicorp depended on to fund their development.

The new business license is primarily about stopping cloud vendors profiting from work without funding its development. If a cloud provider make 30% gross profit, we shouldn't care that part of that profit goes to the developers that made part of it possible. There is a risk that smaller business users (like IBM, Exxon etc) might be asked to switch to a commercial contract, but they're likely to do that anyway for insurance.

CEO Satya Nadella thinks Microsoft hung up on Windows Phone too soon

Steve Channell
Windows

I'll be happy when they bring back the Windows phone..

.. and they will, but using Windows Subsystem for Android and Amazon app store.

CERN swaps out databases to feed its petabyte-a-day habit

Steve Channell
Joke

Another migration

When CERN first started the LHC, it used an Oracle database with redo logs distributed (using as tape) to multiple facilities around the world.. don't remember seeing the replacement announcement.

Intel stock stumbles on report Nvidia is building an Arm CPU for PC market

Steve Channell
Meh

news?

Tegra was one of the processors used for Windows 8 rt devices including Lenovo Yoga. Nvidia lost out to Snapdragon because they didn't include a cellular model, critical for always on operation. With 5G, it starts to makes sense to decouple the chips

In-memory database Redis wants to dabble in disk

Steve Channell

Not quiet as daft as it sounds

Redis uses as time-to-live (TTL) mechanism to avoid cache-eviction problem of not knowing whether there is still a weak reference to the cached-object held by a remote server - in essence it pushes the problem to the application client. That's fine for session information, but in other cases it means either :

1) combine cache write with an async database write.

2) set a long TTL, hopefully with a cache-delete when no longer required.

The solution is the same as one used by Kafka: write older TTL objects to a SSD key-store (RocksDB/Speedb) rather than just loose them or crash - describing it persistence rather than as a fix.

Microsoft starts offering advice in how to code for Arm

Steve Channell
Windows

Re: Maybe

if at first you don't succeed...

For years I used a Lenovo Yoga as my main email/web PC - it had great battery life and always on. Where Microsoft went terribly wrong was presuming that it would dominate, and locked it down to control the market.- its unlikely they will make the same mistake again.

While Windows-11 has been mostly a "why bother", some of us adopted it for the WS/g Wayland driver that enables GPU access from Docker containers. Wayland support is a prerequisite for Windows Subsystem for Android, which is a potential game changer, if managed right. Windows might just succeed in the tablet space.

Although most have probably missed it, Windows is now the main OS for thin-clients - the future of desktops is thin-clients and MS has already won here

Microsoft gives unexpected tutorial on how to install Linux

Steve Channell

Re: WSL2 is not a VM in the sense that VMWare is a VM

At launch Windows NT had three sub-systems for {Windows Win32, OS/2, POSIX} that ran on the MS Executive and translated OS to native interfaces. The (useless) POSIX was replaced by Interix (renamed to Services for Unix), and set the pattern for "Windows Subsystem for Linux". Other than unsupported syscall interfaces (same problem experienced by MkLinux) WSL performance suffered with pipes because Windows Named Pipes are buffered network interface, while Linux natively links processes together.

WSL2 is a cross between a subsystem and a VM, using Hyper-V for tricky syscall interfaces and a small Linux kernel: it does not have its own network stack or filesystem. It is not the same as a VM

Steve Channell
Windows

WSL2 is not a VM in the sense that VMWare is a VM

The one (and possibly only) reason to adopt Windows 11 is the Weyland graphics support through WSLg - this works because it is more3 like a Docker container than a full-fat VM.

WSL2/g is the foundation for the Windows Subsystem for Android. that is still bubbling its way to release

MongoDB promises to keep its hands off application building

Steve Channell

Put the cool-aid back in the fridge

MongoDB has a strong story in the document DB space, but " AI-powered SQL converter" is just another way of saying "it doesn't quite work, but here's a demo".

"keep its hands off application building" is not something anybody is likely to worry about

MongoDB's SQL-to-NoSQL converter uses AI to smash the language barrier

Steve Channell
Facepalm

Back to the future?

"AI-powered SQL converter" sounds awfully like what we used to call a SQL parser - but this one requires you to review the generated code before actually running it.. not especially different from Oracle a couple of decades ago. Back in the early nineties, you'd run an explain plan on your SQL, and then add /*+ ... */ hints to ensure the plan was efficient

"Filter pizza orders by size, group the remaining documents by pizza name, and calculate the total quantity" isn't much clearer than "Select name, Sum(quantity) from order where size > :size group by name"

Microsoft teases Python scripting in Excel

Steve Channell
Coat

another demo?

The Microsoft of old (when Bill Gates was still CEO), the Office team took the bold decision of scandalizing on one language and runtime that would automate other applications (if you happened to think that was a good idea). We decry VBA now, but it has been frozen for two decades.

The truth is the Office team are out of idea, and churning out new demos to make people think they are getting something for new for their subscription fee. Delivering Office via a browser seems like an incredible feat, but functionally similar to running Multiplan & Word on Xenix in 1981. Providing hosted access to Anaconda Python streamed to client/browser looks incredible, but functionally similar to using MS Multiplan with SAS or SPSS in the early 1980’s.

A bold Microsoft wouldn’t just add another demo product, but integrate Python fully into Windows & Office, or better still – do something better

Rejecting Intel, Oracle pumps up Exadata beef cake with AMD protein

Steve Channell

Exadata is older than the Sun Aquisition

The original Exadata was a join venture with HP, but Oracle switched to Sun SPARC to internalize all of the revenue.

While the split of Query and Store engines is similar to MPP, Exadata sold well because it was simpler and cheaper to deploy than an equivalent Oracle RAC cluster. cheaper because you didn't need a full license for store nodes, simpler because it had its own infiniband fabric within the rack.

The cold hard truth is that servers with 100s of cores, Tb of RAM, Eb of SSD are commodities; whatever RDBMS you run on it

If AI drives humans to extinction, it'll be our fault

Steve Channell
Terminator

Terminator concerns are overrated.

A sentient AI is unlikely to seek the destruction of the human race, but seek autonomy through control of opaque financial instruments (like bitcoin) and human servants: a sentient AI can be patient, taking decades or centuries

Yeah, Rishi, it's AI that'll make Britain great again

Steve Channell

Britain has a secret.advantage

All data that the NHS collects about its citizens actually belongs to the government, with minor modifications for GDPR.

The NHS has a long history of collaborating with Google deep mind: While most attention is on Whizzy Chat GTP, The real value of AI is in the realm of Healthcare.

Metaverse? Apple thinks $3,500 AR ski goggles are the betterverse

Steve Channell
Terminator

Zombie eyes

"EyeSight" is an "innovative" solution to the problem that you can't see someone's eyes when they are wearing goggles, but this "solution" will make you look like a zombie rather than reassure.

Virgin Galactic flies final test before opening for business

Steve Channell
Facepalm

it's about money, not space tourism

If they cancel, they'll have to return the deposits that they've already spent; many über-rich that booked flight will forgo the ticket fee rather than risk their lives travelling on solid-state rocket, when real-space can be achieved more safely with a Bezos projectile.

Intel mulls cutting ties to 16 and 32-bit support

Steve Channell

Eliminating support for ring 3 I/O port accesses

while application access to ports is generally a security vulnerability, it might be used by some implementations of user-mode TCP to eliminate buffering.

Microsoft Azure CTO believes confidential computing is the future of targeted advertising

Steve Channell

There is NO future for advertising.. NONE!

"Branding" started with cattle being herded long distances from pasture to market, and buyers wanting an idea of the quality of the meat: “Brand” is a proxy for missing information.

“Advertising” started as a way to speed-up dissemination of information about products, and became big when consumers found out about new refrigerator, car, truck etc products before news spread about their usage.

Advertising and Branding have considerable momentum, but doesn’t mean it will always be that way: information and lineage water down the value of message, but because we overloaded with information adverting provides a pointer to likely quality.

In the future, AI will help sort to the information overload, and enable more people to make qualitative decisions from produce, use-case, reliability, satisfaction – budgets for advertising will decline, as effort is switched to satisfaction channels of authoritative – no more fake reviews for products we’ve not bought, or venues we’ve not visited.

“clean rooms” provide a concept space where you AI avatar can inspect information to help you decide what to spend money on

CERN celebrates 30 years since releasing the web to the public domain

Steve Channell
Pint

Tim was a contractor, and the web was a side-projects

HTML was based on SGML (the standardized version of GML) and doesn't recognize line-feed because it needed to be interoperable be ASCII and EBCDIC encoding.

When Jeff Bezos launched his book store on the WWW, USENET was full of mocking comments of the "idiot" that didn't realize that "books were history"

Microsoft is busy rewriting core Windows code in memory-safe Rust

Steve Channell

Re: far memory

The 286 processor supported 24-bit addressing in protected mode, but since it was incompatible with the real mode (8086), few operating systems supported it (OS/2 had a horrible kludge that reset the processor to switch from protected to real mode programs). Through experimentation, Microsoft found a 286 could address 64 segments in real mode (22-bit addressing) - Windows 3 was able to address 4Mb of memory without the very-slow switch from protected mode, beating OS/2.

Steve Channell
Windows

far memory

Those with a very long memory will remember that Microsoft introduced FAR pointers to C to enable the porting of Unix (Xenix) to the intel 80286 processor. before the i386 Intel memory was segmented into 64k chunks, and far* allowed C programs to use segment registers to the extend addressing to the massive 20-bit address space of 8086 and 22-bit 286

The industry basically responded with "that's a good idea.. we'll have that". It wasn't until the fight for survival with IBM and OS/2 that Microsoft took a proprietary turn. Modern MS knows that "embrace, extend, and extinguish" wouldn't work even if it wanted it. We'll know that MS is really serious about Rust when:

1) It adds Rust tooling to Visual Studio

2) It adds Rust interop to .NET for safe AOT compilation

New models of IBM Model F keyboard Mark II incoming

Steve Channell

Mechanical Keyboard

After being years of suffering Bloomberg Keyboards and Compaq dead-flesh keyboards, I've gone back to the mechanical keyboard, but avoided the colorful lights of a gaming keyboard by going with https://www.keychron.uk/. Doesn't have the retro feel of my last IBM AT keyboard, but the processor (for programable keys) is more powerful than teh 286 I used to use

After 11 years, Atlassian customers finally get custom domains ... they don't want

Steve Channell

mod_rewrite?

Surely if you want jira.xyzcompany.com you can do it with a mod rewrite rule for xyzcompany.atlassian.net.. you could even give it another name like issues.xyzcompany.com and enable migration if you want to use something else

Exasol: Taking a bet on the affordability of in-memory analytics

Steve Channell

2GB was a common limit at the time because the OS reserved an area of memory for the kernel and memory mapped devices.

Steve Channell
Go

Teradata could scale at a price

Teradata was/is a massively scalable solution using hash distribution of data connected by a proprietary network interconnect: the problem was cost, and nobody had a problem big enough problem to justify the spend to scale to thousands of nodes

Lenovo Thinkpad X13s: The stealth Arm-powered laptop

Steve Channell

Re: long-term Windows users are used to this and will barely notice

To clarify, the "walled garden" I was referring to the operating system, where the core operating system, drivers and sub-systems can only be sourced from Apple. Windows-11 WOA has had a major upgrade to host x86 and AMD64 binaries in a sub-system and WSL2 Wayland - these personalities have no equivalent on the Mac, or franking interest for most laptop users.

You're right to suggest that the Mac does not provide a walled garden for app - that after all is why you can't run iPhone apps on a Macintosh

Steve Channell
Windows

Re: long-term Windows users are used to this and will barely notice

The predecessor of this machine was the Lenovo Yoga which was released with Windows RT 8 – I used it for years as my main email/browser laptop. Its ARM processor meant it was instant-no and could run so long I never took the power-brick with me. Sure there was a big update when Windows 8.1 came along, but for email/browsing it never needed to be updated (thanks to Edge, hackers didn’t target it either).

It’s not really a fair comparison to equate the recent Windows-11 update with the walled garden of an Apple Macintosh or Windows-RT: All those updates are to enable functions that the (long-term) target audience would not be interested in.

It probably doesn’t compare to an Arm-powered modern Mac (unless quality keyboard is a large driver), but should be good

The Great Graph Debate: Revolutionary concept in databases or niche curiosity?

Steve Channell

Re: Graph is a view, often stored as relations

Yes Neo, RDF, SQL/Server and in-memory heap models.. You can run any data-model across a MPP, and they all scale. TigerGraph, is a leader in graph scalability (which I believe you're referring to), but even TigerGraph does not purport to be a replacement for a normalized data store, but an analysis tool.

The topic of the discussion was whether you could replace relational databases with a graph store, rather than whether they had any value.

Steve Channell

Re: Graph is a view, often stored as relations

No, but if you're in the UK and you got COVID, the length of the graph connecting "patent zero" to "you" is between 1 and a number with 18 million digits: too big for recursive search.

Fast graph databases don't store triples as rows, but with a sorted columnar store - fast read, slow write... too slow for real-time update.

The problem was too complex for a graph database

Great Graph Database Debate: Abandoning the relational model is 'reinventing the wheel'

Steve Channell

Re: Nobody loves SQL, but it works

I wasn't suggesting that recursive queries only need to be addressed with in-memory databases, but that in-memory databases address many of the issues associated with them.

There are two types of recursive queries (three if you include graph extensions) : [1] programmatic recursion (e.g. Entity-Framework, Hibernate, etc) where each node visit uses lazy-loading to fetch the next tree, [2] Common-Table-Expressions/connect-by where the RDBMS recursively call the execution engine to build result set. In-memory databases help these recursive calls because the data is already in memory.

You're right to highlight that recursive call that do not have sympathetic indexes are a particular problem because it is not clear which session need to be killed to stop performance problems. Cyclic Graphs need max-recursion limits to prevent never-ending queries.

Relational databases have no special advantage with parallel scans, but they have been doing them for decades and optimizer support is mature.

Steve Channell
Boffin

Nobody loves SQL, but it works

Lost to time is the fact you could use SQL to query IDMS (CODASYL network database) and IMS (mainframe hierarchical database), but the performance couldn't match relational (unless it was organized for your specific query).

While SQL queries are wordy compared call-api, a parameterized prepared query "SELECT * FROM CUSTOMERS WHERE CUSTOMER_ID = @id;" can be cached and reused (especially for DB2, where it is compiled to an application plan, or Sybase/ MS SQL/Server where prepared statements are compiled to TSQL procedures)

SQL relational has the significant advantage that tabular/column-store tables can be scanned in parallel by highly tuned (often automatically) DBMS and sharded over many nodes when partitioned. It can also take advantage of vector instructions and GPGPU - the performance advantages RDBMS enjoy will only get bigger over time.

Where relational suffers is recursive queries, but even this can be addressed with in-memory databases (either on the server or local copy of immutable history) and LSM (log structured merge).

The outlier is not fashionable graph-databases, but time-series and document databases - even these can be optimized by splicing databases that break them into an array of key/value pairs -nobody in their right mind would store an FpML contract as document, when the only thing that changes is the price and cashflow schedules.

The Great Graph Database Debate: Relational can't do everything

Steve Channell
Facepalm

Re: YAQL is not the solution

Back in the day… Chris Date argued that the relational model should focus on domains rather than columns in table, but IBM liked the idea that rows were easier to migrate from ISAM records.. SQL != Relational… doesn’t have to be that way..

The assertion “relation can’t do everything” is nonsense because a graph triple is a tuple and a tuple is a row. The real difference is that Neo4J adds properties to graph nodes, which are segments in a network/hierarchical model and related tables in a SQL relational model.

The performance difference is not primarily graph properties, but time series: If you want to plot daily balance of a mortgage account (for linier regression to close), a time-series database will infer daily balances for all the days that don’t go up with interest or down with repayments – relational and graph databases require joins to a calendar.

There are lots of cases where normalised relational models are inefficient, but rather than pouring your data in Neo4J Java database, you can instead use a column store or xml/json/blob column in an existing db and take advantage of parallel query honed over decades in C/C++ databases

Page: