All kinds of stuff in the news. A new survey showed that over 80% of enterprises have cloud applications in development. Apple's Snow Leopard looks like it's going to beat Windows 7 to release – it might be out any day now, but is expected in September (7 is planned for October). This one really got some press – Microsoft is under an injunction that prohibits them from selling Word. They lost a copyright infringement case and haven't paid the $200 million the judge awarded the winner, so the injunction goes into effect in 60 days. Lots of ALM (Application Lifecycle Management) software is coming out; Agile development keeps gaining in popularity; SaaS is becoming normal.
Isn't IT wonderful?
Keep in touch – and Keep up!
Here's the schedule or you can view the complete schedule on our Website:
CSTA Web sessions:
September 16, 17
October 14, 15
November 18, 19
December 16, 17
UITJ (Understanding IT Jobs) Web sessions:
TR Web sessions:
The Cloud Web sessions:
Keep in touch - I love hearing from you - and keep up with technology!
Back to top
The Changing Database World
Relational design has been dominant in database structure for decades – so much so that other architectures haven't even been discussed. Relational technology works perfectly well in our operational systems. It's our relatively recent move to analytical systems such as BI (Business Intelligence), and the massive amounts of data companies now store and access that's caused both new architecture and technologies to appear. As with all new things, the products, technology and terminology gets confusing.
Picture the amount of data Google and Bing must index to answer a search. In February of this year the number of pages Google indexes was estimated at nearly 9 billion. That's the most recent number I found, and I'm pretty sure that six months later we can take the word "nearly" out of that estimate. So, it's a lot of data.
Relational databases are constructed with two-dimensional tables – rows and columns of data. These tables are indexed so that they can relate (point) to each other and programs can retrieve data from multiple tables about, e.g., a specific person or item. This architecture does not work well (basically meaning quickly) for distributed databases. A distributed database is one that is accessed through multiple servers. And, when you're dealing with nine billion anything you've got a distributed database. The growth of the cloud and Web 2.0 with social networks (how many Facebook pages are there?), wikis, and blogs has basically said we need a new architecture for data storage.
The first new term we hear is "columnar databases." Relational databases access data by rows. This allows for more complex relationships, but is not as fast as retrieving columns. Column-based, or columnar, databases are up to twenty times faster and require up to 90% less table storage space than traditional RDBMSs. Netezza's Compress Engine, SiSense's ElastiCube, and Vertica's Analytic Database are all examples of columnar databases. Note that the vendors in this arena aren't the dominant database vendors. New technology always introduces new vendors.
Google built BigTable to address scalability (growth!) problems. It's built on GFS (Google File System) which defines tables, but the tables are built with dimensions rather than rows and columns. It shares characteristics of both row-oriented and column-oriented databases and is designed to scale into the petabyte (quadrillion = 1,000 trillion) range. This makes it easy to add more servers and start using them without any reconfiguration. BigTable is available on Google's AppEngine and is the base for many other database systems. Most notably, Facebook's Cassandra is based on a BigTable model.
HaDoop, the HaDoop Core, and Hbase are all open source products. HaDoop Core and Hbase are part of HaDoop, a top-level Apache project addressing the need for large distributed databases. It's heavily supported by Yahoo and IBM and Google have announced a major initiative to use Hadoop to support university courses in distributed computer programming. Within this project are both Hbase and HaDoop Core. The HaDoop Core provides access to multiple file systems and uses MapReduce technology. Hbase is a distributed database system based on BigTable. HaDoop can run on Amazon's cloud and is already in use.
It's not just the databases that are changing, new functions are being introduced to access the data. MapReduce is a technology that's important with these huge and distributed data systems. MapReduce is a function, not a product, and it's this function that is now built into some database systems. They then get referred to as "MapReduce data stores." MapReduce consists of two functions:
Map: a main server takes input – the query and chops it into smaller sub-units, and distributes those to worker servers, where the mapping could again be done.
Reduce: The main server then takes the answers to all the sub-units and combines them in a way to get the output - the answer to the original query.
All maps can be performed in parallel (each server doing its job at the same time), and a large server farm can use MapReduce to process a petabyte (quadrillion bytes = 1,000 trillion) of data in only a few hours. MapReduce is a Google technology, but it's use is also growing. And, it's the main search algorithm used in HaDoop.
New words, new technologies, and new products. These are not going to replace our operational, relational databases (at least not any time soon), but they're necessary for the movement to huge stores of data and new queries and accesses.
Back to top
1. What do the Sony PlayStation, the Nintendo Wii and the Microsoft Xbox 360 have in common?
2. Which of the following does not belong?
a) ESX Server
3. More and more large companies are building private clouds. Thus, more and more companies must support what technology?
4. What's another cloud popular technology?
5. What type of software makes it easy to use Linux on different devices?
Back to top
Twitter, Facebook, LinkedIn, blog, Web site – and TechRef®
We often talk about keeping up with IT, and that we do the research so you don't have to. And, Web 2.0 has certainly given us many ways of getting the information we find to you. Most of you are familiar with TechRef® (and if you're not, you should be -)). That's where we collect technical information so it's available when you need it. In plain English. Written for business men and women. What the new sources do is give us a way to provide you with other information about IT – news about mergers, new technologies, even law suits affecting IT. We use these for interesting topics that could affect you either personally or professionally. And it's really fun to add these things.
Here's our setup.
Twitter: I tweet! As I'm reading about what's happening in IT, I tweet about the things I find. I'll include anything I think you might find useful, or even just interesting. Most of these tweets link to a blog, as 140 characters is usually not enough to give you the story. I do not tweet about what I'm doing, or plan to do. This is my way of sharing the stuff I find that keeps IT fascinating to me.
Blog: Here's my Blog. Available through WordPress, and, automatically, sent to both Facebook and LinkedIn. I will tell you, though, this doesn't always work. The links that are available through Twitter, Facebook and LinkedIn often have problems.
Facebook: SemCo has a fan page: SemCo Enterprises. Absolutely we invite all of you to become a fan. We've just set up the fan page, and want to use that to have discussions and interactions with everyone. We started a discussion asking what you think is the biggest challenge in IT today. Please share your thoughts with other fans, we're betting that once you share challenges, solutions will be suggested!
I'm also there: M Susan Hodges. And, you're also invited to be a friend. We've been sending personal invitations and if you haven't gotten an invitation, it's because we can't find you on Facebook. You're still invited! My tweets automatically go to this page, so this is one way of keeping up.
LinkedIn: My profile is Susan Hodges. My blog syncs with my profile on LinkedIn and my profile on Facebook.
Web site. You can get to the blog and to Facebook from here. We're adding links to Twitter and LinkedIn.
Whatever works for you – if you use Facebook we're there, if you use LinkedIn we're there. And, most of our posts start with tweets. Just another way of keeping up with IT.
Back to top
We talk about software all the time, but never really address the overall topic. We have so many words for "program." What do they all mean, which are interchangeable, which are unique?
applet A small program, or object, that can be sent from the Internet to the user's system. Applets are used for animation, sound, and interactive forms, etc. Applets can run on any computer equipped with a Java-enabled Web browser. Applets cannot read or write to local files, so the user's system is protected.
component A software building block. In object-oriented development, software that is similar to an object in that it is encapsulated (contains data and processing), but does not necessarily support inheritance and polymorphism. Applications are built by putting together components. JavaBeans and ActiveX are component technologies.
kernel The control programs in any operating system. Term originated with Unix and most often refers to Linux and Unix systems although it can be used with any operating environment.
module Series of instructions that accomplish a task. Programs contain definitions of data and processing statements that manipulate the data. Programs come in many forms, and are also referred to as an application, module, routine, object, and/or script.
object Entity that contains data and procedures (or methods) which are descriptions of how to manipulate that data. Used in object-oriented development. Objects are defined by class definitions and have three characteristics: encapsulation, polymorphism and inheritance.
program Series of instructions that accomplish a task. Programs contain definitions of data and processing statements that manipulate the data. Programs come in many forms, and are also referred to as an application, module, routine, object, and/or script.
routine Series of instructions that accomplish a task. Programs contain definitions of data and processing statements that manipulate the data. Programs come in many forms, and are also referred to as an application, module, routine, object, and/or script.
script A program written in a scripting language. Scripting languages are used for text-processing programs and not for computational-heavy applications. Scripts are used in Internet development for screen design, forms processing, and other fairly simple programs.
server Server is a broad term that is used for many things. First of all, it describes both hardware and software. Server software is any program that makes anything – data, other programs, services, devices – available to any other program. A server computer is any computer that runs server software, though the term is usually used to refer to small enterprise systems. These systems are often dedicated to a single function and are referenced as, e.g. backup servers, database servers, Web servers, file servers, application servers, etc.
service A service is a program that has a specific function, typically a business function, such as analyzing an individual's credit history or processing a purchase order. A service can provide a single discrete function, such as converting one type of currency into another, or it can perform a set of related business functions, such as handling the various operations in an airline reservations system. Services that perform a related set of business functions, as opposed to a single function, are said to be "coarse grained." Services are used by other programs which need to know little about the service except what it does and how to communicate with it. If the service changes (e.g., the credit check service adds an additional check to the credit analysis), this does not affect the way users communicate with it. Users of the service care only about what the service does and are not concerned with how it does it. Therefore these programs (services) can be written in any language, run on any platform, use any database, etc.
servlet Small programs, or objects, usually created in Java (but can be created in C++). Servlets are created as JavaBean components, and executed in containers which are part of Web servers. Servlets can replace CGI scripts and are more flexible as they are platform independent. They accomplish the same functions as CGI scripts, such as working with Web forms, and accessing data from corporate databases. Technology announced: 1997.
Back to top
1. They're all powered by IBM processors. We think of IBM and mainframes, but IBM is actually very important in chip development. From the smallest to the biggest.
2. You have your choice of answers here. The answer is either c) vSphere, or none – they all belong. ESX Server, Hyper-V and Zen are all hypervisors, or virtual machine managers. vSphere includes a hypervisor, but actually is defined by VMware as a virtualization operating system – it's got bells and whistles and does more than just create virtual machines.
3. This would be, of course, virtualization. Virtualization is the building block of clouds private or public.
4. Collaboration. This one's not as obvious, nor is it necessary – it's just becoming really popular. One of the benefits of cloud computing is the ability to support collaboration, and that's becoming one of the most popular functions of cloud applications.
5. Moblin (Mobile Linux) is a platform which allows developers to create a custom Linux file system for a device, a Web browser, multimedia functions, and a connection manager that can support diverse wired and wireless technologies. Originally developed by Intel and turned over to the Linux Foundation. Canonical/Ubuntu, Linpus, Novell, Red Flag, and Xandros are all developing Moblin systems.
Back to top
SemCo Enterprises, Inc. respects your privacy. We do not sell, rent or share your information with anyone.