23 December 2005

IT: Computing (Just the Quotes)

"Let it be remarked [...] that an important difference between the way in which we use the brain and the machine is that the machine is intended for many successive runs, either with no reference to each other, or with a minimal, limited reference, and that it can be cleared between such runs; while the brain, in the course of nature, never even approximately clears out its past records. Thus the brain, under normal circumstances, is not the complete analogue of the computing machine but rather the analogue of a single run on such a machine." (Norbert Wiener, "Cybernetics: Or Control and Communication in the Animal and the Machine", 1948)

"There are two types of systems engineering - basis and applied. [...] Systems engineering is, obviously, the engineering of a system. It usually, but not always, includes dynamic analysis, mathematical models, simulation, linear programming, data logging, computing, optimating, etc., etc. It connotes an optimum method, realized by modern engineering techniques. Basic systems engineering includes not only the control system but also all equipment within the system, including all host equipment for the control system. Applications engineering is - and always has been - all the engineering required to apply the hardware of a hardware manufacturer to the needs of the customer. Such applications engineering may include, and always has included where needed, dynamic analysis, mathematical models, simulation, linear programming, data logging, computing, and any technique needed to meet the end purpose - the fitting of an existing line of production hardware to a customer's needs. This is applied systems engineering." (Instruments and Control Systems Vol. 31, 1958)

"The mathematical and computing techniques for making programmed decisions replace man but they do not generally simulate him." (Herbert A Simon, "Management and Corporations 1985", 1960)

"There is the very real danger that a number of problems which could profitably be subjected to analysis, and so treated by simpler and more revealing techniques. will instead be routinely shunted to the computing machines [...] The role of computing machines as a mathematical tool is not that of a panacea for all computational ills." (Richard E Bellman & Paul Brock, "On the Concepts of a Problem and Problem-Solving", American Mathematical Monthly 67, 1960)

"The purpose of computing is insight, not numbers." (Richard W Hamming, "Numerical Methods for Scientists and Engineers", 1962)

"Another thing I must point out is that you cannot prove a vague theory wrong. If the guess that you make is poorly expressed and rather vague, and the method that you use for figuring out the consequences is a little vague - you are not sure, and you say, 'I think everything's right because it's all due to so and so, and such and such do this and that more or less, and I can sort of explain how this works' […] then you see that this theory is good, because it cannot be proved wrong! Also if the process of computing the consequences is indefinite, then with a little skill any experimental results can be made to look like the expected consequences." (Richard P Feynman, "The Character of Physical Law", 1965)

"Computational reducibility may well be the exception rather than the rule: Most physical questions may be answerable only through irreducible amounts of computation. Those that concern idealized limits of infinite time, volume, or numerical precision can require arbitrarily long computations, and so be formally undecidable." (Stephen Wolfram, Undecidability and intractability in theoretical physics", Physical Review Letters 54 (8), 1985)

"We distinguish diagrammatic from sentential paper-and-pencil representations of information by developing alternative models of information-processing systems that are informationally equivalent and that can be characterized as sentential or diagrammatic. Sentential representations are sequential, like the propositions in a text. Diagrammatic representations are indexed by location in a plane. Diagrammatic representations also typically display information that is only implicit in sentential representations and that therefore has to be computed, sometimes at great cost, to make it explicit for use. We then contrast the computational efficiency of these representations for solving several. illustrative problems in mathematics and physics." (Herbert A Simon, "Why a diagram is (sometimes) worth ten thousand words", 1987)

"Neural computing is the study of cellular networks that have a natural property for storing experimental knowledge. Such systems bear a resemblance to the brain in the sense that knowledge is acquired through training rather than programming and is retained due to changes in node functions. The knowledge takes the form of stable states or cycles of states in the operation of the net. A central property of such nets is to recall these states or cycles in response to the presentation of cues." (Igor Aleksander & Helen Morton, "Neural computing architectures: the design of brain-like machines", 1989)

"Beauty is more important in computing than anywhere else in technology because software is so complicated. Beauty is the ultimate defense against complexity." (David Gelernter, "Machine Beauty: Elegance And The Heart Of Technolog", 1998)

"As systems became more varied and more complex, we find that no single methodology suffices to deal with them. This is particularly true of what may be called information intelligent systems - systems which form the core of modern technology. To conceive, design, analyze and use such systems we frequently have to employ the totality of tools that are available. Among such tools are the techniques centered on fuzzy logic, neurocomputing, evolutionary computing, probabilistic computing and related methodologies. It is this conclusion that formed the genesis of the concept of soft computing." (Lotfi A Zadeh, "The Birth and Evolution of Fuzzy Logic: A personal perspective", 1999)

"In science, it is a long-standing tradition to deal with perceptions by converting them into measurements. But what is becoming increasingly evident is that, to a much greater extent than is generally recognized, conversion of perceptions into measurements is infeasible, unrealistic or counter-productive. With the vast computational power at our command, what is becoming feasible is a counter-traditional move from measurements to perceptions. […] To be able to compute with perceptions it is necessary to have a means of representing their meaning in a way that lends itself to computation." (Lotfi A Zadeh, "The Birth and Evolution of Fuzzy Logic: A personal perspective", 1999)

"Why was progress in computing technology so fast compared with the lack of progress in space travel? The reason is very simple: computing technology is only now approaching scientific limits such as quantum uncertainty and the speed of light, while space technology has already run into its limits that derive from the basic principles of physics and chemistry." (Mordechai Ben-Ari, "Just a Theory: Exploring the Nature of Science", 2005)

"Granular computing is a general computation theory for using granules such as subsets, classes, objects, clusters, and elements of a universe to build an efficient computational model for complex applications with huge amounts of data, information, and knowledge. Granulation of an object a leads to a collection of granules, with a granule being a clump of points (objects) drawn together by indiscernibility, similarity, proximity, or functionality. In human reasoning and concept formulation, the granules and the values of their attributes are fuzzy rather than crisp. In this perspective, fuzzy information granulation may be viewed as a mode of generalization, which can be applied to any concept, method, or theory." (Salvatore Greco et al, "Granular Computing and Data Mining for Ordered Data: The Dominance-Based Rough Set Approach", 2009)

16 December 2005

IT: Redundant Array of Independent Disks/RAID (Definitions)

"Installation of several disk drives to a system. Some drives contain mirrored information so data is not lost. RAID disk drives can be replaced quickly in cases of disk failure. This technology is good for Web and database servers, so that no information is lost and the information is always available." (Patrick Dalton, "Microsoft SQL Server Black Book", 1997)

"Sometimes referred to as redundant array of inexpensive disks, a system that uses multiple disk drives (an array) to provide performance and reliability. There are six levels describing RAID arrays, 0 through 5. Each level uses a different algorithm to implement fault tolerance." (Microsoft Corporation, "SQL Server 7.0 System Administration Training Kit", 1999)

"A disk system that comprises multiple disk drives (an array) to provide higher performance, reliability, storage capacity, and lower cost. Fault-tolerant arrays are categorized in six RAID levels: 0 through 5. Each level uses a different algorithm to implement fault tolerance." (Thomas Moore, "EXAM CRAM™ 2: Designing and Implementing Databases with SQL Server 2000 Enterprise Edition", 2005)

"A specific fault-tolerant disk array system design strategy that takes into account issues of cost benefit, reliability, and performance. It can be implemented at a hardware or a software level; each provides a different profile of cost, reliability, and performance. Depending on the person defining RAID, the word independent may be substituted with inexpensive." (Allan Hirt et al, "Microsoft SQL Server 2000 High Availability", 2004)

"A bunch of small, cheap disks. A RAID array is a group of disks used together as a single unit logical disk. RAID arrays can help with storage capacity, recoverability and performance, using what are called mirroring and striping. Mirroring creates duplicate copies of all physical data. Striping breaks data into many small pieces, where those small pieces can be accessed in parallel." (Gavin Powell, "Beginning Database Design", 2006)

"A schema for using groups of disks to increase performance, protect data, or both." (Tom Petrocelli, "Data Protection and Information Lifecycle Management", 2005)

"This is a grouping, or array, of hard disks that appear as a single, logical drive to the operating system." (Joseph L Jorden & Dandy Weyn, "MCTS Microsoft SQL Server 2005: Implementation and Maintenance Study Guide - Exam 70-431", 2006)

"RAID is an acronym for Redundant Array of Independent Disks. RAID is a collection of disks that operates as a single disk." (S. Sumathi & S. Esakkirajan, "Fundamentals of Relational Database Management Systems", 2007)

"A RAID array uses multiple physical disks to simulate one logical, larger disk, often with protection from disk failure. (The I can also stand for Independent, and the D can also stand for Drives.) " (Victor Isakov et al, "MCITP Administrator: Microsoft SQL Server 2005 Optimization and Maintenance (70-444) Study Guide", 2007)

"Using more disks than is necessary for the actual data itself, as a buffer against failure of one (or possibly more) disks." (David G Hill, "Data Protection: Governance, Risk Management, and Compliance", 2009)

"A category of disk drives that employ two or more drives in combination for fault tolerance and performance." (Martin Oberhofer et al, "The Art of Enterprise Information Architecture", 2010)

"A system of disk storage where data is distributed across several drives for faster access and improved fault tolerance." (Paulraj Ponniah, "Data Warehousing Fundamentals for IT Professionals", 2010)

"A technology for configuring a logical data storage device across multiple physical devices to improve performance, availability or both. The primary goal is fault tolerance as in most configurations data can be recovered after a device failure and in some cases, without interruption." (DAMA International, "The DAMA Dictionary of Data Management", 2011)

"An acronym that means Redundant Array of Independent Disks. RAID is used to provide balance between performance and fault tolerance. RAID systems use multiple disks to create virtual disks (storage volumes) formed by several individual disks. RAID systems provide performance improvement and fault tolerance." (Carlos Coronel et al, "Database Systems: Design, Implementation, and Management" 9th Ed., 2011)

"A category of disk drives that employ two or more drives in combination to deliver fault tolerance and improved performance." (Craig S Mullins, "Database Administration", 2012)

"A multi-disk storage system that optimizes performance, data safety, or both, depending on the type." (Faithe Wempen, "Computing Fundamentals: Introduction to Computers", 2015)

IT: Subject Matter Expert (Definitions)

"An expert on the subject of the area on which the data analysis or mining exercise is focused." (Glenn J Myatt, "Making Sense of Data: A Practical Guide to Exploratory Data Analysis and Data Mining", 2006)

"SME is an acronym used to refer to people who understand and can explain information related to a knowledge domain. SMEs may be technically or business-oriented." (Laura Sebastian-Coleman, "Measuring Data Quality for Ongoing Improvement ", 2012)

"The subject matter expert is the business representative with the required understanding of the existing business environments and of the requirements." (Claudia Imhoff et al, "Mastering Data Warehouse Design", 2003)

"An individual with a large amount of knowledge about one or more areas of subject matter in an organization." (Margaret Y Chu, "Blissful Data ", 2004)

"A person with significant experience and knowledge of a given topic or function." (DAMA International, "The DAMA Dictionary of Data Management", 2011)

"A person with deep knowledge of a particular topical area. SMEs can be useful in the consultation phase of the taxonomy design process." (Robert F Smallwood, "Managing Electronic Records: Methods, Best Practices, and Technologies", 2013)

"A person, usually an accomplished performer, who knows the knowledge, performance, and personal competence required for a given unit of competence." (Project Management Institute, "Project Manager Competency Development Framework" 3rd Ed., 2017)

"The individuals who are brought on to the project as needed based on their subject matter expertise." (Timothy J  Kloppenborg et al, "Project Leadership", 2003)

"IT professionals within a vendor organisation who have expertise in their field and are often used by a training team to deliver advanced topics to students or assist in content development. " (BCS Learning & Development Limited, "CEdMA Europe", 2019)

15 December 2005

IT: Peer-to-Peer Network (Definitions)

[peer-to-peer computing:] "Users loosely connected through online connections that enable them to share data and programs." (Greg Perry, "Sams Teach Yourself Beginning Programming in 24 Hours 2nd Ed.", 2001)

[peer-to-peer computing:] "A distributed computing model in which each node has equal standing among the collection of nodes. In the most typical usage of this term, the same capabilities are offered by each node, and any node can initiate a communication session with another node. This contrasts with, for example, client-server computing. The capabilities that are shared in peer-to-peer computing include file-sharing as well as computation." (Beverly A Sanders, "Patterns for Parallel Programming", 2004)

"A network comprised of individual participants that have equal capabilities and duties." (Andy Walker, "Absolute Beginner’s Guide To: Security, Spam, Spyware & Viruses", 2005)

"A blanket term used to describe: (1) a peer-centric distributed software architecture, (2) a flavor of software that encourages collaboration and file sharing between peers, and (3) a cultural progression in the way humans and applications interact with each other that emphasizes two way interactive 'conversations' in place of the Web’s initial television-like communication model (where information only flows in one direction)." (Craig F Smith & H Peter Alesso, "Thinking on the Web: Berners-Lee, Gödel and Turing", 2008)

"A networking system in which nodes in a network exchange data directly instead of going through a central server. " (Marcia Kaufman et al, "Big Data For Dummies", 2013)

"A network where all computers can both share and acces resources from other computers on the same network; a decentralized network." (Faithe Wempen, "Computing Fundamentals: Introduction to Computers", 2015)

"A type of network in which a group of personal computers is interconnected so that the hard disks, CD ROMs, files, and printers of each computer can be accessed from every other computer on the network. Peer-to-peer networks do not have a central file server. This type of system is used if less than a dozen computers will be networked." (James R Kalyvas & Michael R Overly, "Big Data: A Businessand Legal Guide", 2015)

"A decentralized network where participants have equal privileges and make certain resources directly available to other network participants." (AICPA)

14 December 2005

IT: Cluster/Clustering (Definitions)

"Technology that enables you to create a hot spare. That is a server that is actually running and can take over immediately. This technology enables you to mirror an entire server to another computer." (Owen Williams, "MCSE TestPrep: SQL Server 6.5 Design and Implementation", 1998)

"The use of multiple computers to provide increased reliability, capacity, and management capabilities." (Microsoft Corporation, "SQL Server 7.0 System Administration Training Kit", 1999)

"Grouping data together on the same disk page to improve retrieval performance." (Jan L Harrington, "Relational Database Dessign: Clearly Explained" 2nd Ed., 2002)

"Any collection of distinct computers that are connected and used as a parallel computer, or to form a redundant system for higher availability. The computers in a cluster are not specialized to cluster computing and could, in principle, be used in isolation as standalone computers. In other words, the components making up the cluster, both the computers and the networks connecting them, are not custom-built for use in the cluster." (Beverly A Sanders, "Patterns for Parallel Programming", 2004)

"Connecting two or more computers in such a way that they behave like a single computer to an application or client. Clustering is used for parallel processing, load balancing, and fault tolerance." (Allan Hirt et al, "Microsoft SQL Server 2000 High Availability", 2004)

[server cluster:] "The type of Windows Clustering that provides availability only. It is a collection of nodes that allow resources to be failed over to another node in the event of a problem. SQL Server 2000 failover clustering is installed and configured on top of a server cluster." (Allan Hirt et al, "Microsoft SQL Server 2000 High Availability", 2004)

"A group of computers linked via a LAN and working together to form the equivalent of a single computer." (Linda Volonino & Efraim Turban, "Information Technology for Management" 8th Ed., 2011)

[failover cluster:] "A group of servers that are in one location and that are networked together for the purpose of providing live backup in case one of the servers fails." (Microsoft, "SQL Server 2012 Glossary", 2012)

"A set of computers with distributed memory communicating over a high-speed interconnect. The individual computers are often called nodes." (Michael McCool et al, "Structured Parallel Programming", 2012)

"A group of servers connected by a network and configured in such a way that if the primary server fails, a secondary server takes over." (IBM, "Informix Servers 12.1", 2014)

"A cluster is a set of servers configured to function together. Servers sometimes have differentiated functions and sometimes they do not." (Dan Sullivan, "NoSQL for Mere Mortals®", 2015)

"A collection of complete systems that work together to provide a single, unified computing capability." (Sybase, "Open Server Server-Library/C Reference Manual", 2019)

[failover clustering:] "A network of two or more interconnected servers that redirects an overloaded or failed resource to maintain system availability." (Microsoft Technet)

13 December 2005

IT: Component Object Model (Definitions)

"The programming model on which several SQL Server and database application programming interfaces (APIs), such as SQL-DMO, OLE DB, and ADO, are based." (Microsoft Corporation, "SQL Server 7.0 System Administration Training Kit", 1999)

"A group of conventions and specifications that let you create interactions between software components in a structured object-oriented way." (Craig F Smith & H Peter Alesso, "Thinking on the Web: Berners-Lee, Gödel and Turing", 2008)

"A binary standard that enables objects to interoperate in a networked environment regardless of the language in which they were developed or on which computers they reside. COM-based technologies include ActiveX Controls, Automation, and object linking and embedding (OLE). COM allows an object to expose its functionality to other components and to host applications. It defines both how the object exposes itself and how this exposure works across processes and across networks. COM also defines the object's life cycle." (Microsoft)

"A mechanism in Windows whereby an application can be registered with the operating system, thereby enabling other applications to call it. The application is given a numeric key, which is stored in the registry together with the application's location. A client calls the application by calling the key." (Microfocus)

"An object-based programming model designed to promote software interoperability; it allows two or more applications or components to easily cooperate with one another, even if they were written by different vendors, at different times, in different programming languages, or if they are running on different computers running different operating systems. OLE technology and ActiveX are both built on top of COM." (Microsoft Technet)

"An object-oriented programming model that defines how objects interact within a single process or between processes. In COM, clients have access to an object through interfaces implemented on the object." (Microsoft)

"Microsoft's architecture for creating objects with standard binary interfaces for the desktop." (Microfocus)

12 December 2005

IT: Legacy System (Definitions)

"A production system that was designed for technology assumptions that are no longer valid or expected to become invalid in the foreseeable future." (Atul Apte, "Java Connector Architecture: Building Custom Connectors and Adapters", 2002)

"Systems that have been inherited from languages, platforms, and techniques earlier than current technology." (Timothy J  Kloppenborg et al, "Project Leadership", 2003)

"A system in operational use that must be sustained. Sustainment is challenging for such systems due to obsolete technology, poor structure, outdated and incomplete documentation, and lack of people with the necessary knowledge and skills." (Richard D Stutzke, "Estimating Software-Intensive Systems: Projects, Products, and Processes", 2005)

"An existing data creation, management, and reporting system in a company generally still in use." (Sharon Allen & Evan Terry, "Beginning Relational Data Modeling" 2nd Ed., 2005)

"A database or application using an out-of-date database engine or application tools. Some legacy systems can be as much as 30, or even 40 years old." (Gavin Powell, "Beginning Database Design", 2006)

"A mature system that serves ongoing needs. Legacy systems are often old, monolithic systems, built using older design approaches and older technologies." (Bruce MacIsaac & Per Kroll, "Agility and Discipline Made Easy: Practices from OpenUP and RUP", 2006)

"An information system that has been developed and modified over a period of time and has become outdated and difficult and costly to maintain but that holds important information and involves processes that are deeply ingrained in an organization. Legacy systems usually are eventually replaced by a new hardware and software configuration." (J P Getty Trust, "Introduction to Metadata" 2nd Ed., 2008)

"Old computer applications on disparate platforms, supported by outdated database systems that are still in use in many companies, as legacies from the past." (Paulraj Ponniah, "Data Warehousing Fundamentals for IT Professionals", 2010)

"Term used to describe the original financial system when implementing a new financial system." (Janice M Roehl-Anderson, "IT Best Practices for Financial Managers", 2010)

"An application implemented outside of, or from a prior version of, an organization’s application architecture. Usually an older application that may be slated for eventual replacement. Legacy systems are often frustrating because they are difficult to change, few people know exactly what they do and how they do it, and/or the technology on which they are dependent is becoming obsolete and unsupportable." (DAMA International, "The DAMA Dictionary of Data Management", 2011)

"Application that has been used for a long period of time and that has been inherited from languages, platforms, and techniques used in earlier technologies." (Linda Volonino & Efraim Turban, "Information Technology for Management" 8th Ed., 2011)

"The older systems used to run the business of the corporation as it was defined 10 or 20 years ago" (Daniel Linstedt & W H Inmon, "Data Architecture: A Primer for the Data Scientist", 2014)

"A legacy system is a business solution that has a few common characteristics with current solutions in the market, such as being based on outdated technology or design, being incompatible or difficult and costly to integrate with current systems, and a potential inability of being purchased from vendors because it is unavailable and discontinued." (Microsoft Learning, "Migrate data and go live with Finance and Operations apps", 2020)

"An old system, technology or computer system that is not supported any more." (Analytics Insight)

11 December 2005

IT: Transmission Control Protocol/ Internet Protocol (Definitions)

"A protocol for connecting to the Internet or other network hosts. The primary protocol for Unix networks." (Patrick Dalton, "Microsoft SQL Server Black Book", 1997)

"An industry standard suite of protocols and applications that is used for communicating among different computers." (Owen Williams, "MCSE TestPrep: SQL Server 6.5 Design and Implementation", 1998)

"A low-level language describing the way that data flows across one or more networks (such as the Internet)." (Bill Pribyl & Steven Feuerstein, "Learning Oracle PL/SQL", 2001)

"Communication protocol of the Internet, consisting of a transport layer (IP) and an application layer (TCP)." (Ralph Kimball & Margy Ross, "The Data Warehouse Toolkit" 2nd Ed., 2002)

"An industry standard network protocol used by most companies for internetworking computer equipment." (Thomas Moore, "EXAM CRAM™ 2: Designing and Implementing Databases with SQL Server 2000 Enterprise Edition", 2005)

"The networking protocol that supports communication across interconnected networks, between computers with diverse hardware architectures and various operating systems. This is generally regarded as the industry standard for computer and Internet connections." (Sharon Allen & Evan Terry, "Beginning Relational Data Modeling 2nd Ed.", 2005)

"Networking protocols common to most forms of networks. TCP provides for synchronous communications over IP." (Tom Petrocelli, "Data Protection and Information Lifecycle Management", 2005)

"An Internet-based network protocol that is used for communicating between network nodes." (Marilyn Miller-White et al, "MCITP Administrator: Microsoft® SQL Server™ 2005 Optimization and Maintenance 70-444", 2007)

"An abbreviation for Transmission Control Protocol/Internet Protocol, this standard makes up the foundation of most computer-to-computer communication across the Internet and on local networks." (Robert D Schneider & Darril Gibson, "Microsoft SQL Server 2008 All-in-One Desk Reference For Dummies", 2008)

"The ISO standardized suite of network protocols that enables information systems to communicate with other information systems on the Internet, regardless of their computer platforms." (J P Getty Trust, "Introduction to Metadata" 2nd Ed., 2008)

"The complex stack of communications protocols that underlies the Internet. All data is broken down into small packets that are sent independently over the network and reassembled at the final destination." (Judith Hurwitz et al, "Service Oriented Architecture For Dummies" 2nd Ed., 2009)

"Internet protocols created by U.S. Department of Defense to ensure and preserve data integrity and maintain communications in the event of catastrophic war." (Linda Volonino & Efraim Turban, "Information Technology for Management" 8th Ed., 2011)

"A protocol that provides reliable delivery of a stream of bytes from one computer to another. TCP provides reliable delivery of a stream of bytes from one computer to another." (Rod Stephens, "Start Here! Fundamentals of Microsoft .NET Programming", 2011)

"A set of standard protocols used to organize data sent across a network." (DAMA International, "The DAMA Dictionary of Data Management", 2011)

"Network standard that provides a reliable, error-checking, connection-oriented delivery method." (Linda Volonino & Efraim Turban, "Information Technology for Management" 8th Ed., 2011)

"A protocol wrapped around the Internet Protocol to make an unreliable packet transmission mechanism appear to the application program to be a reliable stream of bytes." (Jon Orwant et al, "Programming Perl" 4th Ed., 2012)

"A suite of protocols used on the Internet and in many local area networks. Individual protocols within TCP/IP are defined in formal documents called RFCs." (Darril Gibson, "Effective Help Desk Specialist Skills", 2014)

"A suite of protocols and programs that support low-level network communication" (Nell Dale & John Lewis, "Computer Science Illuminated" 6th Ed., 2015)

"The basic protocol, or language, of modern networks and the Internet." (Weiss, "Auditing IT Infrastructures for Compliance" 2nd Ed, 2015)

"The major transport protocol in the Internet suite of protocols providing reliable, connection-oriented, full-duplex streams." (Adam Gordon, "Official (ISC)2 Guide to the CISSP CBK" 4th Ed., 2015)

"A reliable network protocol in which the transmitter and receiver engage in a handshake sequence, ensuring that there is a reliable channel and in which data received is checked against control data to ensure that it is received and received without errors." (O Sami Saydjari, "Engineering Trustworthy Systems: Get Cybersecurity Design Right the First Time", 2018)

"An industry-standard, nonproprietary set of communication protocols that provides reliable end-to-end connections between applications over interconnected networks of different types." (Sybase, "Open Server Server-Library/C Reference Manual", 2019)

"A connection-oriented, reliable protocol. One of the protocols on which the internet is based." (Daniel Leuck et al, "Learning Java" 5th Ed., 2020)

09 December 2005

IT: Management Information System (Definitions)

"A system created specifically to store and provide information to managers." (Timothy J  Kloppenborg et al, "Project Leadership", 2003)

"A computer-based or manual system that transforms data into information useful in the support of decision making." (Jae K Shim & Joel G Siegel, "Budgeting Basics and Beyond", 2008)

"A reporting or Business Intelligence system." (DAMA International, "The DAMA Dictionary of Data Management", 2011)

"The full range of information technology solutions required by a business to run its daily operations, support strategic planning and process improvement activities, and identify issues requiring management attention for their resolution. See Decision Support System for an example of one of the components of MIS." (Kenneth A Shaw, "Integrated Management of Processes and Information", 2013)

"The software applications and computer hardware systems in an enterprise that provide information for management decisions regarding its business operations. Also see Decision Support System." (Kenneth A Shaw, "Integrated Management of Processes and Information", 2013)

"Systems designed to provide past, present, and future routine information appropriate for planning, organizing, and controlling the operations of functional areas in an organization." (Linda Volonino & Efraim Turban, "Information Technology for Management 8th Ed", 2011)

IT: Information System (Definitions)

"Computerized or manual structure of procedures and records. (9-11)" (Leslie G Eldenburg & Susan K Wolcott, "Cost Management" 2nd Ed., 2011)

"An interconnected environment for managing and processing data using a computer." (Faithe Wempen, "Computing Fundamentals: Introduction to Computers", 2015)

"Software that helps the user organize and analyze data" (Nell Dale & John Lewis, "Computer Science Illuminated" 6th Ed., 2015)

"1.Generally, an automated or manual organized process for collecting, manipulating, transmitting, and disseminating information. SEE ALSO application. 2.In data management, a system that supports decision-making concerning some piece of reality (the object system) by giving decision-makers access to information concerning relevant aspects of the object system and its environment." (DAMA International, "The DAMA Dictionary of Data Management", 2011)

"A physical process that supports an organization by collecting, processing, storing, and analyzing data, and disseminating information to achieve organizational goals." (Linda Volonino & Efraim Turban, "Information Technology for Management" 8th Ed., 2011)

"A system that provides for data collection, storage, and retrieval; facilitates the transformation of data into information and the management of both data and information. An information system is composed of hardware, software (DMBS and applications), the database(s), people, and procedures." (Carlos Coronel et al, "Database Systems: Design, Implementation, and Management 9th Ed", 2011)

"The varied manual and automated communication mechanisms within an organization that store, process, disseminate, and sometimes even analyze information for those who need it." (Joan C Dessinger, "Fundamentals of Performance Improvement 3rd Ed", 2012)

"System that supports enterprise activities." (Gilbert Raymond & Philippe Desfray, "Modeling Enterprise Architecture with TOGAF", 2014)

04 December 2005

IT: Expert System (Definitions)

"A data processing system composed of a knowledge base (rules), an inference engine, and a working memory." (Joseph P Bigus, "Data Mining with Neural Networks: Solving Business Problems fromApplication Development to Decision Support", 1996)

"A computer system that tries to simulate a human expert. A search tree and method of traversal in artificial intelligence. The expert provides her knowledge as if-then rules and a programmer codes these in software. Expert systems define a large logic tree or several small trees. The expert system has two parts: the knowledge base and the inference engine. The knowledge base is just the tree or trees of bivalent rules. The inference engine is some scheme for reasoning or 'chaining' the rules. Fuzzy systems are a type of expert system since they too store knowledge as rules, but as fuzzy rules or fuzzy patches. Expert systems work with black-white logic and symbols. Fuzzy systems work with fuzzy sets and have a numerical or mathematical basis that permits both mathematical analysis and simple chip design." (Guido Deboeck & Teuvo Kohonen (Eds), "Visual Explorations in Finance with Self-Organizing Maps 2nd Ed.", 2000)

"A computer program that has a deep understanding of a topic, and can simulate a human expert, asking and answering questions and making decisions." (Craig F Smith & H Peter Alesso, "Thinking on the Web: Berners-Lee, Gödel and Turing", 2008)

"An artificial intelligence system driven by rules based on the skills and experience of one or more experts in a given field, so the system processes information the same way an expert person does. Expert systems are deterministic, versus neural networks, which are non-deterministic." (DAMA International, "The DAMA Dictionary of Data Management", 2011)

"A software system based on the knowledge of human experts" (Nell Dale & John Lewis, "Computer Science Illuminated" 6th Ed., 2015)

"Fall under the computer applications category of artificial intelligence. Composed of a knowledge base, an inference system, and a human machine interface." (Joan C Dessinger, "Fundamentals of Performance Improvement 3rd Ed", 2012)

"A computer system that emulates the decision-making ability of a human expert. Inference in expert systems applies logical rules to a knowledge base and deduces new knowledge from it." (Accenture)

01 December 2005

IT: Data Models (Definitions)

"A system data model is a collection of the information being addressed by a specific system or function such as a billing system, data warehouse, or data mart. The system model is an electronic representation of the information needed by that system. It is independent of any specific technology or DBMS environment." (Claudia Imhoff et al, "Mastering Data Warehouse Design", 2003)

"The business data model, sometimes known as the logical data model, describes the major things ('entities') of interest to the company and the relationships between pairs of these entities. It is an abstraction or representation of the data in a given business environment, and it provides the benefits cited for any model. It helps people envision how the information in the business relates to other information in the business ('how the parts fit together')." (Claudia Imhoff et al, "Mastering Data Warehouse Design", 2003)

"The technology data model is a collection of the specific information being addressed by a particular system and implemented on a specific platform." (Claudia Imhoff et al, "Mastering Data Warehouse Design", 2003)

[enterprise data model:] "A high-level, enterprise-wide framework that describes the subject areas, sources, business dimensions, business rules, and semantics of an enterprise." (Sharon Allen & Evan Terry, "Beginning Relational Data Modeling 2nd Ed.", 2005)

[canonical data model:] "The definition of a standard organization view of a particular information subject. To be practical, canonical data models include a mapping back to each application view of the same subject." (David Lyle & John G Schmidt, "Lean Integration", 2010)

[hierarchical data model:] "A data model that represents data in a tree-like structure of only one-to-many relationships, where each entity may have a ‘many’ side when related to a parent, and a ‘one’ side when related to a child." (DAMA International, "The DAMA Dictionary of Data Management", 2011)

[Enterprise Data Model (EDM):] "A conceptual data model or logical data model providing a common consistent view of shared data across the enterprise, however that is defined, at a point in time. It is common to use the term to mean a high-level, simplified data model, but that is a question of abstraction for presentation." (DAMA International, "The DAMA Dictionary of Data Management", 2011)

[network data model:] "A representation of objects and their participation in one or more owner-member sets. In such a model, a both owners and members may participate in multiple sets, affecting a network of objects and relationships." (DAMA International, "The DAMA Dictionary of Data Management", 2011)

[enterprise data model:] "A single data model that comprehensively describes the data needs of the entire organization." (Craig S Mullins, "Database Administration", 2012)

[generic data model:] "A data model of an industry, rather than of a specific company; a generic data model can be used as a template that can be customized for a given company within the industry that has been modeled." (Daniel Linstedt & W H Inmon, "Data Architecture: A Primer for the Data Scientist", 2014)

[corporate data model:] "A data model at the corporate level for the core business objects and their relationship with each other, which is based on the core business object model." (Boris Otto & Hubert Österle, "Corporate Data Quality", 2015)

[Enterprise data model:] "The enterprise data model in many literatures and viewpoints is considered to be a single, standalone unified artifact that describes all data entities and data attributes and their relationships across the enterprise. In most cases this model is combined with the ambition to consolidate all data in an enterprise data warehouse (EDW)." (Piethein Strengholt, "Data Management at Scale", 2020)

IT: System (Definitions)

"A combination of components working together. For example, a computer system includes both hardware and software." (Timothy J  Kloppenborg et al, "Project Leadership", 2003)

"A part of the world that is the subject of a model, communication, or reasoning. In the context of this book the word system is most commonly used for a software system." (Anneke Kleppe et al, "MDA Explained: The Model Driven Architecture: Practice and Promise", 2003)

"A collection of interrelated components that operate together to achieve some desired function, and support organizational mission or business objectives. A system may include software, hardware, and operational data. A system is operated by people. The word system often connotes a large product designed to meet the needs of a particular group of users." (Richard D Stutzke, "Estimating Software-Intensive Systems: Projects, Products, and Processes", 2005)

"An integrated group of subsystems, subassemblies, and components that make up a functioning unit that harmonizes the mass, energy and information flows, and transformations of the elements to provide an overall product output that fulfills the customer-based requirements." (Clyde M Creveling, "Six Sigma for Technical Processes: An Overview for R Executives, Technical Leaders, and Engineering Managers", 2006)

"[...] a business system (not just the computer or the software system)." (Suzanne Robertson & James Robertson, "Mastering the Requirements Process" 2nd Ed., 2006)

"Product or product component that in turn consists of interacting subsystems." (Lars Dittmann et al, "Automotive SPICE in Practice", 2008)

"A system is a compound entity (i.e. has parts within) that produces results above and beyond the sum of the contributions of its parts. Systems produce results determined by their structure. Systems mayor may not have been consciously designed." (Aldo Romano & Giustina Secundo (Eds.),, "Dynamic Learning Networks: Models and Cases in Action", 2009)

"A combination of hardware, software, and data devices." (Janice M Roehl-Anderson, "IT Best Practices for Financial Managers", 2010)

"A mechanism type that consists of one or more linked computers, along with associated software." (David C Hay, "Data Model Patterns: A Metadata Map", 2010)

"A set of interacting or interdependent computer hardware and software components forming an integrated unit. In this book, the terms system and application are often used interchangeably. A business system supports capabilities in a particular business domain (such as finance, marketing, manufacturing, sales, etc.), whereas an integration system supports capabilities in a particular integration discipline (such as data integration, process integration, data quality, business intelligence, etc.). See also the definition for system-of-systems." (David Lyle & John G Schmidt, "Lean Integration", 2010)

"An interacting and interdependent group of component items forming a unified whole to achieve a common purpose." (DAMA International, "The DAMA Dictionary of Data Management", 2011)

"A system is a set of connected things forming a complex whole (NOAD). Systems are often understood as mechanisms, but they can also comprise a set of principles or a method for doing things. In modern organizations, the term system is used to refer to information technology applications that carry out work needed by an organization. An example is a system for processing claims or one for inventorying products." (Laura Sebastian-Coleman, "Measuring Data Quality for Ongoing Improvement ", 2012)

"Connecting aspects of a complex whole; interconnectedness; interdependence." (Joan C Dessinger, "Fundamentals of Performance Improvement 3rd Ed", 2012)

"A collection of various components that together can produce results not obtainable by the components alone." (Project Management Institute, "Navigating Complexity: A Practice Guide", 2014)

"A collection of components that operate together to achieve a larger function." (O Sami Saydjari, "Engineering Trustworthy Systems: Get Cybersecurity Design Right the First Time", 2018)

"A system is a framework that orders and sequences activity within the organisation to achieve a purpose within a band of variance that is acceptable to the owner of the system.  Systems are the organisational equivalent of behaviour in human interaction. Systems are the means by which organisations put policies into action.  It is the owner of a system who has the authority to change it, hence his or her clear acceptance of the degree of variation generated by the existing system." (Catherine Burke et al, "Systems Leadership" 2nd Ed., 2018)

"An integrated set of regularly interacting or interdependent components created to accomplish a defined objective, with defined and maintained relationships among its components, and the whole producing or operating better than the simple sum of its components." (Project Management Institute, "Practice Standard for Scheduling"  3rd Ed., 2019)

"A collection of components organized to accomplish a specific function or set of functions." (IEEE 610)

20 November 2005

Database Management: Trivia (Part I: Who's gonna rule the world?)

Database Management
Database Management Series

This morning I started to read an article from Information Week about the future of database administrators, as it seems they will rule the world, at least the world of data. It's not a joke, their role will become more and more important over the next years, why this? 

 1. Databases become bigger and more complex      
The size and complexity of databases is increasing from year to year, same their importance in making faster decision based on current or historical data. The bigger the size and complexity, bigger also the need for ad-hoc or one mouse click reports, and who’s the person who has the knowledge and resources to do this?! 

2. Data mining      
Historical data doesn't resume only to simple reporting, but data mining is becoming more popular, having as purpose the discovery of trends in the business, facilitating somehow predictions for business' future.     

Let’s not forget that the big players on the database market started to offer data mining solutions, incorporated or not in their database platforms, the data mining features are a start in providing new views over the data.      

Big companies will opt probably for data analysts, but for medium-sized and small companies, the role of a data analyst could be easily taken by a database administrator. 

3. The knowledge that matters      
Even if databases are backend for complex UI, in time, if not immediately, the database administrator becomes aware of underlaying overall structure of the database and, why not, leaded by curiosity or business' requirements he becomes aware of the content of the data. Even if is a paradox, the database administrator has sometimes more data knowledge than a manager and the skills to do with data that magic that is important for managers. 

4. Data Cleansing      
More and more companies are becoming aware of the outliers from their data, so data cleansing is becoming a priority, and again the database administrator has an important role in this process. 

5. Database Security      
Database platforms are growing, unfortunately the same thing happens with their security holes and the number of attacks. A skilled database administrator must have the knowledge to overcome these problems and solve the issues as soon as possible. 

6. Training      
Even if can be considered a consequence of the previously enumerated facts, it deserves to be considered separately. Companies are starting to realize how important it to have a skilled database administrator, so probably they will provide the requested training or help the DBA to achieve this. 

 7. On site/offshore compromise      
If in the past years, has been popular the concept of off shoring people, including database administrators; probably soon companies will become aware that reducing direct maintenance costs doesn’t mean a reduction of overall costs, which may contain also indirect costs. The delayed response time generated by communication issues, availability or resources plays an important role in the increase indirect costs, most of the big companies will be forced then to opt for a compromise between on site and offshore.      

In this case the direct benefit for a database administrator is not so obvious, except for the financial benefit there is also an image advantage, even if is disregarded, the image and the fact a person is not anymore isolated is important.

Reviewing the post almost 20 years later with the knowledge of today, I can just smile. Besides data analysts, the DBAs were at that time the closest to the data. Probably, many DBAs walked the new paths created by the various opportunities. Trying to uncover the unknown through the known is a foolish attempt, but it’s the best we can do to prepare us for what comes next.

Created: Nov-2005, Last Reviewed: Mar-2024

19 November 2005

💎SQL Reloaded: Cursors and Lists

    I found cursors really useful when the set-based logic provided by a query make it difficult to solve special types of problems (e.g. concatenate in a list the values returned by a select, multiple updates/insert/deletions based on the success or failure of previous logic). Cursors are relatively easy to write though lot of code is redundant from one solution to another. Therefore, I prefer to have the simplest code and then modify it according to new requirements.   

   Here's a simple example of a function that returns a list of emails:

--creating the sample table
CREATE TABLE EmailAddresses(ID int, Email varchar(50))

--insert test records
INSERT EmailAddresses
VALUES (1, 'John.Travolta@star.com')
INSERT EmailAddresses
VALUES (2, 'Robert.DeNiro@star.com')
INSERT EmailAddresses
VALUES (3, 'MegRyan@star.com')
INSERT EmailAddresses
VALUES (4, 'Helen.Hunt@star.com')
INSERT EmailAddresses
VALUES (5, 'Jodie.Foster@star.com')

-- creating the function 
CREATE FUNCTION dbo.GetEmails()
RETURNS varchar(1000)
/*
Purpose: returns a list of Emails
Parameters:
Notes:
Sample: SELECT dbo.GetEmails() AS ListEmails
*/
AS
BEGIN
   DECLARE @Email varchar(50)
   DECLARE @Emails varchar(1000)

   SET @Emails = ''

   -- Create Emails Cursor
   DECLARE Emails CURSOR FOR
   SELECT Email
   FROM EmailAddresses
   ORDER BY Email

   OPEN Emails -- Open Emails Cursor

   --fetch first set of records from Emails Cursor
   FETCH NEXT FROM Emails
   INTO @Email

   WHILE @@FETCH_STATUS = 0 --if the fatch was successful
   BEGIN
      SET @Emails = @Emails + @Email + ','

      --fetch next set of records from Emails Cursor
      FETCH NEXT FROM Emails
      INTO @Email
   END

   CLOSE Emails -- close Emails cursor
   DEALLOCATE Emails --deallocate Emails cursor

   --remove the extra comma
   IF Len(@Email)>0
      SET @Emails = Left(@Emails, Len(@Emails)-1)

   RETURN @Emails
END
 
--testing the function
SELECT dbo.GetEmails()

Notes:
The code was tested on SQL Server 2000 till 2017.
The logic from dbo.GetList function can use as source any other table as long the length of the target column is less than 50 characters as the @Result was defined as varchar(50).

     Exploring the above idea, what if the content of the query is not known until runtime and all is known is that only one column of data is returned? This could be achieved with the help of a table data type:

--creating the source table
CREATE TABLE Countries(ID int, Country varchar(50))

--insert test records
INSERT Countries
VALUES (1, 'US')
INSERT Countries
VALUES (2, 'UK')
INSERT Countries
VALUES (3, 'Germany')
INSERT Countries
VALUES (4, 'Spain')
INSERT Countries
VALUES (5, 'France')

 
-- creating the function 
CREATE FUNCTION dbo.GetList(
@Query varchar(250))
RETURNS varchar(1000)
/*
Purpose: returns a list of List
Parameters:
Notes:
Sample: SELECT dbo.GetList('SELECT Country FROM Countries ORDER BY Country') AS List
*/

AS
BEGIN
   DECLARE @Result varchar(50)
   DECLARE @List varchar(1000)
   DECLARE @Temp TABLE (Val varchar(10))

   SET @List = ''

   --insert in a table data type the results returned by query
   INSERT @Temp
   EXEC (@Query)

   -- Create List Cursor
   DECLARE List CURSOR FOR
   SELECT Val
   FROM @Temp

   OPEN List -- Open List Cursor

   --fetch first set of records from List Cursor
   FETCH NEXT FROM List
   INTO @Result

   WHILE @@FETCH_STATUS = 0 --if the fatch was successful
   BEGIN
      SET @List = @List + @Result + ','

      --fetch next set of records from List Cursor
      FETCH NEXT FROM List
      INTO @Result
   END

   CLOSE List -- close List cursor
   DEALLOCATE List --deallocate List cursor

   --remove the extra comma
   IF Len(@Result)>0
      SET @List = Left(@List, Len(@List)-1)

   RETURN @List
END

--testing the function 
SELECT dbo.GetList('SELECT Country FROM Countries ORDER BY Country') AS List

Result: List --------------------------
France,Germany,Spain,UK,US (1 row(s) affected)   

   Instead of using a query one can use a stored procedure as well. Here's the stored procedure and the example that calls it:

--creating the stored procedure
CREATE PROCEDURE dbo.pListCountries
AS
SELECT Country
FROM Countries
ORDER BY Country
 
--testing the function
SELECT dbo.GetList('dbo.pListCountries') AS List

Result: List
--------------------------
France,Germany,Spain,UK,US (1 row(s) affected)  

Notes:
As it seems the above code stopped working between the next editions of SQL Server.
Related Posts Plugin for WordPress, Blogger...

About Me

My photo
Koeln, NRW, Germany
IT Professional with more than 24 years experience in IT in the area of full life-cycle of Web/Desktop/Database Applications Development, Software Engineering, Consultancy, Data Management, Data Quality, Data Migrations, Reporting, ERP implementations & support, Team/Project/IT Management, etc.