From IkeaHacker:
I did not know Microsoft already has Pub-Sub built into SQLServer. It’s called SQL-NS. I always thought the only vendors doing PubSub were the middleware companies such as Tibco (now owned by Reuters) and Talarian (also now owned by Reuters).
I’m reading now into SQL-NS. And from my first glance, it looks like SQL-NS is more geared toward internet or intranet applications. A centralized matching application matches event messages to a list of known subscribers- and then publishes out the event messages to the subscribes interested in the event topic.
This is quite different from Tibco’s Rendevous. As I rememeber it, Rendevous uses UDP- which broadcasts each event message to all nodes on a subnet. The message goes into the “mailbox” of the machines on the subnet. A Rendevous process on each workstation then decides if that event message is relevant to the process(es) running on that machine.
SQL-NS models the matching of events with subscriptions as a SQL Join. The Rendevous process on each machine relies on messages subject filtering to filter out unsubscribed event messages. It seems like SQL-NS, once it finds the list of interested subscribes that it needs to [...]
IEEE-754: Binary Floating-Point Arithmetic. If not for this standard, there’d be dozens of competing standards for representing numbers in our everyday computers. Good write-up here.
It’s been just about two weeks now since I joined the new group. So far, I’ve been on a pure learning curve. Every six months or so now, I’ve had to relearn entire systems from the ground up- so this has been another climb. Every system has its own architecture. They could be based on standard third party messaging systems like Tibco Rendevous, Talarian SmartSockets, Microsoft’s DCOM (remote activation, no guarantees), or a home-grown in-house messaging system.
For any given distributed system on Wall Street, the fundamental technical issue is how different parts in the system communicate with each other. Once that decision is made, that infrastructure decision underlies all the other parts that gets built on top of it.
Another fundamental decision when building huge distributed systems is deciding on the employment of multiple threads. Technically, threading problems are the toughest to crack (memory leak issues are being fought sucessfully so far the likes of boost pointers, java and .NET garbage collectors). So, a design architect really should decide upfront whether to make the most out of multiple threads – or rather minimize threading issues by making each process single-threaded, but increasing the [...]