June 28, 2011 at 11:34 pm
IceDread (6/27/2011)
I know.. but I still think it's a big flaw.
I am curious...I am not sure what you mean. Maybe it would help if I knew your standard for OS-dependent, or if you named an RDBMS that is not OS-dependent.
There are no special teachers of virtue, because virtue is taught by the whole community.
--Plato
June 29, 2011 at 8:00 am
opc.three (6/28/2011)
IceDread (6/27/2011)
I know.. but I still think it's a big flaw.I am curious...I am not sure what you mean. Maybe it would help if I knew your standard for OS-dependent, or if you named an RDBMS that is not OS-dependent.
Oracle Enterprise has builds for a wide variety of operating system, and Java DB (now owned by Oracle) will theoretically run wherever Java is installed, which could be all the way down to mobile devices or Windows NT. I don't think Java DB (or any other Java based RDMS) will compete with SQL Server Enterprise except in a narrow range of niche applications, but if Oracle continues to support Windows Server 2003 and Windows XP in their next release, then it may tip the scales in it's favor for some projects deciding between SQL Server or Oracle, unless SQL Server does the same.
"Do not seek to follow in the footsteps of the wise. Instead, seek what they sought." - Matsuo Basho
June 29, 2011 at 11:15 am
opc.three (6/28/2011)
IceDread (6/27/2011)
I know.. but I still think it's a big flaw.I am curious...I am not sure what you mean. Maybe it would help if I knew your standard for OS-dependent, or if you named an RDBMS that is not OS-dependent.
As I said before, most RDBMS are OS dependent to my knowledge, they have to be. For just one example, look at E.F. Codd's 11th rule for "distribution independence" and tell me how an RDBMS could comply to that rule of distribution independence WITHOUT being OS dependent? The hosting OS would have to allow this in the first place. Now with that said, no database today to my knowledge complies with all 12 rules either. 😀
"Technology is a weird thing. It brings you great gifts with one hand, and it stabs you in the back with the other. ...:-D"
June 29, 2011 at 11:27 am
TravisDBA (6/29/2011)
opc.three (6/28/2011)
IceDread (6/27/2011)
I know.. but I still think it's a big flaw.I am curious...I am not sure what you mean. Maybe it would help if I knew your standard for OS-dependent, or if you named an RDBMS that is not OS-dependent.
As I said before, most RDBMS are OS dependent to my knowledge, they have to be. For just one example, look at E.F. Codd's 11th rule for "distribution independence" and tell me how an RDBMS could comply to that rule of distribution independence WITHOUT being OS dependent? 😀
When I read Codd's Rule 11, it sounds to me like a requirement that the physical placement of data should be transparent; the database files can be moved to new locations or rows moved between pages within files without the user needing to modify their queries. A RDMS, if it's developed to run on top of a virtual machine runtime like Java, could implement that without being having dependence on a specific OS API calls. Even a RDBMS like SQL Server which is built exclusively on Win32/64 executables should be able to retain that functionality regardless of wether it's going from XP to Windows 7.
"Do not seek to follow in the footsteps of the wise. Instead, seek what they sought." - Matsuo Basho
June 29, 2011 at 12:00 pm
Eric M Russell (6/29/2011)
. . . Even a RDBMS like SQL Server which is built exclusively on Win32/64 executables should be able to retain that functionality regardless of wether it's going from XP to Windows 7.
IMO that is not entirely true. If you tried to write an RDBMS that would be agnostic of hardware, you would have to sacrifice performance: imagine, if you will, a DB that would have page sizes say 1.3 size of the physical cluster or, on modern processors, did not take advantage of predictive caching. So even if you are under Win7, physical access layers will be certainly different for RAID and for WinPhone.
June 29, 2011 at 12:02 pm
. Even a RDBMS like SQL Server which is built exclusively on Win32/64 executables should be able to retain that functionality regardless of wether it's going from XP to Windows 7.
Not really true, the OS has to allow for that, that's just one of the reasons that make database platforms OS dependent.:-D
"Technology is a weird thing. It brings you great gifts with one hand, and it stabs you in the back with the other. ...:-D"
June 29, 2011 at 12:20 pm
Eric M Russell (6/29/2011)
TravisDBA (6/29/2011)
opc.three (6/28/2011)
IceDread (6/27/2011)
I know.. but I still think it's a big flaw.I am curious...I am not sure what you mean. Maybe it would help if I knew your standard for OS-dependent, or if you named an RDBMS that is not OS-dependent.
As I said before, most RDBMS are OS dependent to my knowledge, they have to be. For just one example, look at E.F. Codd's 11th rule for "distribution independence" and tell me how an RDBMS could comply to that rule of distribution independence WITHOUT being OS dependent? 😀
When I read Codd's Rule 11, it sounds to me like a requirement that the physical placement of data should be transparent; the database files can be moved to new locations or rows moved between pages within files without the user needing to modify their queries. A RDMS, if it's developed to run on top of a virtual machine runtime like Java, could implement that without being having dependence on a specific OS API calls. Even a RDBMS like SQL Server which is built exclusively on Win32/64 executables should be able to retain that functionality regardless of wether it's going from XP to Windows 7.
OK, I think I see where you're going with this. At some point however the rubber has to meet the road. Every installation of Java is OS-dependent. The write-once-run-anywhere claim is a myth. That said, managed environments are awesome! I am a huge proponent of them. The myth not withstanding they seriously improve portability and stability with things like garbage collection and such. However there are reasons why SQL Server and other big platforms are OS dependent...it's because there is a speed advantage to be gained. The less abstraction layers you have to cut through the faster your app will be. I suspect that Java DB is not going to be overtaking Oracle or SQL Server in any significant TPC categories anytime soon. SQL OS manages its own memory for speed reasons, and TMK all of that code is implemented as "unsafe" code (like C++ or unmanaged C#) as opposed to managed code. The same idea applies for data storage.
There are no special teachers of virtue, because virtue is taught by the whole community.
--Plato
June 29, 2011 at 12:31 pm
Revenant (6/29/2011)
Eric M Russell (6/29/2011)
. . . Even a RDBMS like SQL Server which is built exclusively on Win32/64 executables should be able to retain that functionality regardless of wether it's going from XP to Windows 7.
IMO that is not entirely true. If you tried to write an RDBMS that would be agnostic of hardware, you would have to sacrifice performance: imagine, if you will, a DB that would have page sizes say 1.3 size of the physical cluster or, on modern processors, did not take advantage of predictive caching. So even if you are under Win7, physical access layers will be certainly different for RAID and for WinPhone.
The RDMS engine itself can be a hardware agnostic and operating system agnostic bytecode application (like Java), ideally capable of being moved from one OS to another without modification. It's the underlying virtual machine that has to be optimized for a specific operating and file system.
Oracle has client tools (Oracle SQL Developer) and a scaled down RDMS engine (Java DB) that can run on any operating system with the required Java runtime libraries. Of course there are some tradeoffs in terms of performance; I wouldn't expect a RBMS with a VM go-btween to perform as well on Windows as SQL Sever or the Windows build of Oracle. Also, SQL Developer has a tendency to lock on me at least once a week as all Java apps tend to do, so I use it only for Oracle and keep SSMS for my SQL Sever work.
"Do not seek to follow in the footsteps of the wise. Instead, seek what they sought." - Matsuo Basho
June 29, 2011 at 1:47 pm
Yes, it will depend on one's perspective. If we are talking a single-user desktop RDBMS like access, an in-between hardware-agnostic layer will probably do. As I am on an app that has thousands of concurrent users, I think of performance first.
June 29, 2011 at 2:17 pm
Revenant (6/29/2011)
Yes, it will depend on one's perspective. If we are talking a single-user desktop RDBMS like access, an in-between hardware-agnostic layer will probably do. As I am on an app that has thousands of concurrent users, I think of performance first.
Exactly, as I said before, it all depends on who you ask.:-D
"Technology is a weird thing. It brings you great gifts with one hand, and it stabs you in the back with the other. ...:-D"
Viewing 10 posts - 31 through 39 (of 39 total)
You must be logged in to reply to this topic. Login to reply