What are you referring to? Both the XBone and PS4 are using AMD... I'm pretty sure that the two combined will outsell all the Macbooks, iMacs and Minis combined.
See RethinkDB, or CouchDB.... Just because you are moving away from a relational model doesn't mean throwing out everything a relational database gives you... You can store your data differently in order to scale your load more effectively. There are many techniques to do this. In my last job, I chose to export a denormalized version of updated records, so that they could be queried, and retrieved much faster in a non-relational database. The RDBMS was there, but pretty much write-only.
Grampa Codd wasn't trying to handle a million simultaneous requests across billions of records with expected response times in a fraction of a second. You couldn't create a functional search engine, for instance with any RDBMS. When your highly normalized data takes 28 joins in a primary query, with 4 other queries to render the primary contents of a single page, and a server that has 8 cpu cores, and 24gb of ram is crawling, but a mongo instance as a test on another server with 1/3 the memory, and 1/2 the cpu load can handle 90% of the work load away from the database server then you need to rethink things.
If you think performance doesn't matter, you are fooling yourself, or dealing with projects, or people that simply don't care.
I doubt you are getting triple the performance from a FOSS database as you do MS-SQL from the same hardware, with the same schema design. There's also feature set to look at.. not that I use any database as much more than dumb storage.
Around 1999 I was involved in a rewrite to move *to* oracle... which, at the time was the only real option for the needs of the software at the time. There were several DBAs hired in, and a few cross-trained for the project. It wasn't too bad. That said, for 99.999% of use cases Oracle is overkill. I'd much rather use PostgreSQL or MS-SQL, haven't touched DB2 in a long time, and FirebirdSQL is passable as well for some uses.
Have you actually looked at EnterpriseDB's executive list or board of directors? There's just as much CYA power there as there is with Oracle, probably more.
I was going to make a few of the same points... my biggest issue with Oracle, is it isn't friendly to a dev-ops environment, where development overlaps with operations. In those types of environments, imho PostgreSQL, MongoDB and MS-SQL win over most of the rest. MySQL has always been so inconsistent that migrating apps to/from it have been problematic (same is often true for MS-SQL). If you don't have (a couple) full-time Oracle DBAs in house, then you are best avoiding it as much as humanly possible.
On the flip side, if you need *REALLY* big data storage in a transactional+relational database, you aren't going to see much in the way of competition here. Most will move to no-sql solutions for those instances though. ymmv.
The issue is that normalization comes at a cost, and it really depends on your use case. If you are dealing with financial transactions, yes, SQL (relational db) is your best bet. If you are dealing with complex, fluid structures for mostly read scenarios.. a serialized version of your data in a no-sql-like one key to lookup works better.
It's emphatically not a one size fits all.. but the question becomes what is your major use case, and what performance needs do you have. NoSQL can scale horizontally in ways than SQL based databases simple can not. Outside of that horizontal scaling need, which is really quite rare, storing an entire object/document in your database as one record has some advantages in read/write when you aren't having to do so across too many records. There's a reason that many large operations put caching/nosql servers in front of their databases, and that is join operations, especially against large tables are fairly costly. Having to do more than 5-6 joins just becomes cumbersome, and means that another solution may have been better.
going 64-bits gets you very little with a phone that has 512MB of ram.. Personally, given the price of smart phones, they should all have at *LEAST* 2GB of ram.
Funny, you don't mention Android being doomed in the same breath... considering even the article mentions that it, being a GC platform has many of the same issues.
I don't know that it's the purpose of JS to offer quite so much... I know that, for example NodeJS offers a lot, but outside the core, there's not too much there. Underscore takes care of most of the inconsistent bits for current browsers as far as JS itself goes... which is itself relatively light. Most of what Zepto/jQuery offer are with regards to the BROWSER specific bits.
I know it is semantics, but it really bugs me that JS gets such a bad rep because of the browsers' shortcomings.
Umn, you can record and playback over the air content on consumer grade equipment (Digital TV being an exception, the no-record flag)... DRM removes this ability, as a general rule... especially regarding streaming media.
Also, what is available on Netflix or Amazon Prime today, can easily not be there tomorrow (and many times isn't).
Most of the current use systems for communications are less than a decade old in most cities.. in the late 90's through mid 00's many cities were sold on the benefits of digital communications systems. The trouble with digital is they aren't really more reliable than cell phones. At worst with analog you can use morse code, which is still enough to communicate.. with digital it's all or nothing.
The biggest crime here is that none of these systems and radios have analog fallback options.
I, personally think that a big part of the problem is all the metro emergency responder systems being sold in "digital" systems.. yes, when they work, they do sound and function better than analog... unfortunately they can't be expected to be much more reliable than cell phones in the real world. All of these systems and radios should have analog fallback channels.
I think that is probably why AMD is taking the direction they are... though on the lower end, their APU designs are pretty interesting, and I'm very interested to see if they come up with a platform beyond what the XBone and PS4 are getting.
I've seen similar issues in higher level language based projects as well. For example in a simulation engine, each avatar in the simulation was given it's own thread... Now you add a few dozen avatars in a simulation, and more than a few dozen simulations running on a server, and you see the issue. The solution, have the engine run one thread that calls each avatar's "do-work" method in a loop. Minimal code change, huge performance gains for the server as a whole. Why? because context switching from one thread to another has a cost on the CPU. Not to mention a lot of lock(obj){} states that weren't needed with the loop.
It really bugs me when people think OO is the only way to get stuff done. Now, some functional language stuff just makes my head hurt, but there are plenty of functional patterns that can be used that will perform a lot better than OO, and still be just as readable.
For a while I was given an IP from a Qwest/Centurylink address pool that was mostly hispanic (in the US/AZ), I came across a number of sites where the language preset to spanish (including a couple google sites)
AT $150 for the home license, it's really not competitive to Windows or Linux imho. I was aware it was spun off, but didn't know what the sale price for a license was.
You may want to take a little time to look into some non-sql databases (Redis, RethinkDB, MongoDB, Couch etc...) as well as another server-side platform (NodeJS, Python)...
While I linke EF a lot, I'd say it's a stretch to say you don't need to understand T-SQL to be effective with it... In many cases how you pull data out can dramatically effect performance of a given query. Wierd join statements in LINQ etc sometimes lead to very strange N+N results. And serializing your entities brings in a much bigger can of worms.
That dynamic scoping makes for really nice unit test capabilities. I do agree with variable scoping, and usually find the coercion more useful than not (I think my biggest issue tends to be when I'm doing validation and a Zero is a valid value for my use).
Automatic Semi-Colon Insertion issues can be averted by using a linter (jslint|jshint) on your code... It's a bit of a mixed bag, and I tend to put semi colors where intended... I think this is mainly a behavioral issue with coding style and understanding the language.
My mom's laptop has the same issue... couldn't even use windows 7 with the generic drivers, they were specific to vista, and that version of the graphics chipset... linux was a no go as well..:-/
Games support (DirectX and OpenGL) was really poorly done on Windows 2000... that was the biggest change in the code from 2000 to XP, and the main reason just about any 2000 drivers other than graphics or sound worked in XP.
Win2K's DirectX support was very limited, and iirc was userland code, not kernel space, so the performance was horrible... I do remember it working well enough for the handful of games I ran at the time, but I had a pretty beefy machine compared to most at that time.
I really liked Win2K a lot... it was the first version of Windows I actually liked (preferred OS/2 before that), and it wasn't until Windows 7 that I liked another MS OS release (though XP was around for a long time, I really didn't care for the Fisher Price inspired UI. XP's first release was when I started to use Linux a lot more. I do find it funny how much people bashed on the initial Vista release considering how bad XP was before SP1.
What are you referring to? Both the XBone and PS4 are using AMD... I'm pretty sure that the two combined will outsell all the Macbooks, iMacs and Minis combined.
See RethinkDB, or CouchDB .... Just because you are moving away from a relational model doesn't mean throwing out everything a relational database gives you... You can store your data differently in order to scale your load more effectively. There are many techniques to do this. In my last job, I chose to export a denormalized version of updated records, so that they could be queried, and retrieved much faster in a non-relational database. The RDBMS was there, but pretty much write-only.
Grampa Codd wasn't trying to handle a million simultaneous requests across billions of records with expected response times in a fraction of a second. You couldn't create a functional search engine, for instance with any RDBMS. When your highly normalized data takes 28 joins in a primary query, with 4 other queries to render the primary contents of a single page, and a server that has 8 cpu cores, and 24gb of ram is crawling, but a mongo instance as a test on another server with 1/3 the memory, and 1/2 the cpu load can handle 90% of the work load away from the database server then you need to rethink things.
If you think performance doesn't matter, you are fooling yourself, or dealing with projects, or people that simply don't care.
I doubt you are getting triple the performance from a FOSS database as you do MS-SQL from the same hardware, with the same schema design. There's also feature set to look at.. not that I use any database as much more than dumb storage.
Around 1999 I was involved in a rewrite to move *to* oracle... which, at the time was the only real option for the needs of the software at the time. There were several DBAs hired in, and a few cross-trained for the project. It wasn't too bad. That said, for 99.999% of use cases Oracle is overkill. I'd much rather use PostgreSQL or MS-SQL, haven't touched DB2 in a long time, and FirebirdSQL is passable as well for some uses.
Have you actually looked at EnterpriseDB's executive list or board of directors? There's just as much CYA power there as there is with Oracle, probably more.
I was going to make a few of the same points... my biggest issue with Oracle, is it isn't friendly to a dev-ops environment, where development overlaps with operations. In those types of environments, imho PostgreSQL, MongoDB and MS-SQL win over most of the rest. MySQL has always been so inconsistent that migrating apps to/from it have been problematic (same is often true for MS-SQL). If you don't have (a couple) full-time Oracle DBAs in house, then you are best avoiding it as much as humanly possible.
On the flip side, if you need *REALLY* big data storage in a transactional+relational database, you aren't going to see much in the way of competition here. Most will move to no-sql solutions for those instances though. ymmv.
The issue is that normalization comes at a cost, and it really depends on your use case. If you are dealing with financial transactions, yes, SQL (relational db) is your best bet. If you are dealing with complex, fluid structures for mostly read scenarios.. a serialized version of your data in a no-sql-like one key to lookup works better.
It's emphatically not a one size fits all.. but the question becomes what is your major use case, and what performance needs do you have. NoSQL can scale horizontally in ways than SQL based databases simple can not. Outside of that horizontal scaling need, which is really quite rare, storing an entire object/document in your database as one record has some advantages in read/write when you aren't having to do so across too many records. There's a reason that many large operations put caching/nosql servers in front of their databases, and that is join operations, especially against large tables are fairly costly. Having to do more than 5-6 joins just becomes cumbersome, and means that another solution may have been better.
going 64-bits gets you very little with a phone that has 512MB of ram.. Personally, given the price of smart phones, they should all have at *LEAST* 2GB of ram.
Funny, you don't mention Android being doomed in the same breath... considering even the article mentions that it, being a GC platform has many of the same issues.
I don't know that it's the purpose of JS to offer quite so much... I know that, for example NodeJS offers a lot, but outside the core, there's not too much there. Underscore takes care of most of the inconsistent bits for current browsers as far as JS itself goes... which is itself relatively light. Most of what Zepto/jQuery offer are with regards to the BROWSER specific bits.
I know it is semantics, but it really bugs me that JS gets such a bad rep because of the browsers' shortcomings.
Umn, you can record and playback over the air content on consumer grade equipment (Digital TV being an exception, the no-record flag)... DRM removes this ability, as a general rule... especially regarding streaming media. Also, what is available on Netflix or Amazon Prime today, can easily not be there tomorrow (and many times isn't).
Most of the current use systems for communications are less than a decade old in most cities.. in the late 90's through mid 00's many cities were sold on the benefits of digital communications systems. The trouble with digital is they aren't really more reliable than cell phones. At worst with analog you can use morse code, which is still enough to communicate.. with digital it's all or nothing.
The biggest crime here is that none of these systems and radios have analog fallback options.
I, personally think that a big part of the problem is all the metro emergency responder systems being sold in "digital" systems.. yes, when they work, they do sound and function better than analog... unfortunately they can't be expected to be much more reliable than cell phones in the real world. All of these systems and radios should have analog fallback channels.
BDB is embedded, which means your code that reads/writes database access in fact does need to be AGPL too.
I think that is probably why AMD is taking the direction they are... though on the lower end, their APU designs are pretty interesting, and I'm very interested to see if they come up with a platform beyond what the XBone and PS4 are getting.
I've seen similar issues in higher level language based projects as well. For example in a simulation engine, each avatar in the simulation was given it's own thread... Now you add a few dozen avatars in a simulation, and more than a few dozen simulations running on a server, and you see the issue. The solution, have the engine run one thread that calls each avatar's "do-work" method in a loop. Minimal code change, huge performance gains for the server as a whole. Why? because context switching from one thread to another has a cost on the CPU. Not to mention a lot of lock(obj){} states that weren't needed with the loop.
It really bugs me when people think OO is the only way to get stuff done. Now, some functional language stuff just makes my head hurt, but there are plenty of functional patterns that can be used that will perform a lot better than OO, and still be just as readable.
For a while I was given an IP from a Qwest/Centurylink address pool that was mostly hispanic (in the US/AZ), I came across a number of sites where the language preset to spanish (including a couple google sites)
AT $150 for the home license, it's really not competitive to Windows or Linux imho. I was aware it was spun off, but didn't know what the sale price for a license was.
You may want to take a little time to look into some non-sql databases (Redis, RethinkDB, MongoDB, Couch etc...) as well as another server-side platform (NodeJS, Python) ...
While I linke EF a lot, I'd say it's a stretch to say you don't need to understand T-SQL to be effective with it... In many cases how you pull data out can dramatically effect performance of a given query. Wierd join statements in LINQ etc sometimes lead to very strange N+N results. And serializing your entities brings in a much bigger can of worms.
That dynamic scoping makes for really nice unit test capabilities. I do agree with variable scoping, and usually find the coercion more useful than not (I think my biggest issue tends to be when I'm doing validation and a Zero is a valid value for my use).
Automatic Semi-Colon Insertion issues can be averted by using a linter (jslint|jshint) on your code... It's a bit of a mixed bag, and I tend to put semi colors where intended... I think this is mainly a behavioral issue with coding style and understanding the language.
My mom's laptop has the same issue... couldn't even use windows 7 with the generic drivers, they were specific to vista, and that version of the graphics chipset... linux was a no go as well.. :-/
Games support (DirectX and OpenGL) was really poorly done on Windows 2000... that was the biggest change in the code from 2000 to XP, and the main reason just about any 2000 drivers other than graphics or sound worked in XP.
Win2K's DirectX support was very limited, and iirc was userland code, not kernel space, so the performance was horrible... I do remember it working well enough for the handful of games I ran at the time, but I had a pretty beefy machine compared to most at that time.
I really liked Win2K a lot... it was the first version of Windows I actually liked (preferred OS/2 before that), and it wasn't until Windows 7 that I liked another MS OS release (though XP was around for a long time, I really didn't care for the Fisher Price inspired UI. XP's first release was when I started to use Linux a lot more. I do find it funny how much people bashed on the initial Vista release considering how bad XP was before SP1.