Archive for February, 2010

What Indexes Are For : OCA 11g SQL Fundamentals

Wednesday, February 10th, 2010

Indexes are part of the constraint mechanism. If a column (or a group of columns) is marked as a table’s primary key, then every time a row is inserted into the table,Oracle must check that a row with the same value in the primary key does not already exist. If the table has no index on the column(s), the only way to do this is to scan right through the table, checking every row. While this might be acceptable for a table of only a few rows, for a table with thousands or millions (or billions) of rows, this is not feasible. An index gives (near) immediate access to key values, so the check for existence can be made virtually instantaneously. When a primary key constraint is defined, Oracle will automatically create an index on the primary key column(s), if one does not exist already.
A unique constraint also requires an index. The difference from a primary key constraint is that the column(s) of the unique constraint can be left null, perhaps in many rows. This does not affect the creation and use of the index: nulls do not go into the B*Tree indexes, as described in the next section, “Types of Index.”
Foreign key constraints are enforced by indexes, but the index must exist on the parent table, not necessarily on the table for which the constraint is defined. A foreign key constraint relates a column in the child table to the primary key or to a unique key in the parent table. When a row is inserted in the child table, Oracle will do a lookup on the index on the parent table to confirm that there is a matching row before permitting the insert. However, you should always create indexes on the foreign key columns within the child table for performance reasons: a DELETE on the parent table will be much faster if Oracle can use an index to determine whether there are any rows in the child table referencing the row that is being deleted.
Indexes are critical for performance. When executing any SQL statement that includes a WHERE clause, Oracle has to identify which rows of the table are to be selected or modified. If there is no index on the column(s) referenced in the WHERE clause, the only way to do this is with a full table scan. A full table scan reads every row of the table, in order to find the relevant rows. If the table has billions of rows, this can take hours. If there is an index on the relevant column(s), Oracle can search the index instead. An index is a sorted list of key values, structured in a manner that makes the search very efficient. With each key value is a pointer to the row in the table. Locating relevant rows via an index lookup is far faster than using a full table scan, if the table is over a certain size and the proportion of the rows to be retrieved is below a certain value. For small tables, or for a WHERE clause that will retrieve a large fraction of the table’s rows, a full table scan will be quicker: you can (usually) trust Oracle to make the correct decision, based on information the database gathers about the tables and the rows within them.
A second circumstance where indexes can be used is for sorting. A SELECT statement that includes the ORDER BY, GROUP BY, or UNION keywords (and a few others) must sort the rows into order—unless there is an index, which can return the rows in the correct order without needing to sort them first.
A third circumstance when indexes can improve performance is when tables are joined, but again Oracle has a choice: depending on the size of the tables and the memory resources available, it may be quicker to scan tables into memory and join them there, rather than use indexes. The nested loop join technique passes through one table using an index on the other table to locate the matching rows: this is usually a disk-intensive operation. A hash join technique reads the entire table into memory, converts it into a hash table, and uses a hashing algorithm to locate matching rows; this is more memory and CPU intensive. A sort merge join sorts the tables on the join column then merges them together: this is often a compromise between disk, memory, and CPU resources. If there are no indexes, then Oracle is severely limited in the join techniques available.

Private VLANs :Virtual LANs and VLAN Trunking

Saturday, February 6th, 2010

Engineers may design VLANs with many goals in mind. In many cases today, devices end up in the same VLAN just based on the physical locations of the wiring drops. Security is another motivating factor in VLAN design: devices in different VLANs do not overhear each other’s broadcasts. Additionally, the separation of hosts into different VLANs and subnets requires an intervening router or multilayer switch between the subnets, and these types of devices typically provide more robust security features.
Regardless of the design motivations behind grouping devices into VLANs, good design practices typically call for the use of a single IP subnet per VLAN. In some cases, however, the need to increase security by separating devices into many small VLANs conflicts with the design goal of conserving the use of the available IP subnets. The Cisco private VLAN feature addresses this issue. Private VLANs allow a switch to separate ports as if they were on different VLANs, while consuming only a single subnet.
A common place to implement private VLANs is in the multitenant offerings of a service provider (SP). The SP can install a single router and a single switch. Then, the SP attaches devices from multiple customers to the switch. Private VLANs then allow the SP to use only a single subnet for the whole building, separating different customers’ switch ports so that they cannot communicate directly, while supporting all customers with a single router and switch.
Conceptually, a private VLAN includes the following general characterizations of how ports communicate:
Ports that need to communicate with all devices
Ports that need to communicate with each other, and with shared devices, typically routers
Ports that need to communicate only with shared devices
To support each category of allowed communications, a single private VLAN features a primary VLAN and one or more secondary VLANs. The ports in the primary VLAN are promiscuous in that they can send and receive frames with any other port, including ports assigned to secondary VLANs. Commonly accessed devices, such as routers and servers, are placed into the primary VLAN. Other ports, such as customer ports in the SP multitenant model, attach to one of the secondary VLANs.
Secondary VLANs are either community VLANs or isolated VLANs. The engineer picks the type based on whether the device is part of a set of ports that should be allowed to send frames back and forth (community VLAN ports), or whether the device port should not be allowed to talk to any other ports besides those on the primary VLAN (isolated VLAN). Table 2-2 summarizes the behavior of private VLAN communications between ports.
Private VLAN Communications Between Ports
1Community and isolated VLANs are secondary VLANs.
2Promiscuous ports, by definition in the primary VLAN, can talk to all other ports.

Virtual LANs :CCIE 351-001 Routing amd Switching Official Exam Certification Guide

Saturday, February 6th, 2010

In an Ethernet LAN, a set of devices that receive a broadcast sent by any one of the devices in the same set is called a broadcast domain. On switches that have no concept of virtual LANs (VLAN), a switch simply forwards all broadcasts out all interfaces, except the interface on which it received the frame. As a result, all the interfaces on an individual switch are in the same broadcast domain. Also, if the switch connects to other switches and hubs, the interfaces on those switches and hubs are also in the same broadcast domain.
A VLAN is simply an administratively defined subset of switch ports that are in the same broadcast domain. Ports can be grouped into different VLANs on a single switch, and on multiple interconnected switches as well. By creating multiple VLANs, the switches create multiple broadcast domains. By doing so, a broadcast sent by a device in one VLAN is forwarded to the other devices in that same VLAN; however, the broadcast is not forwarded to devices in the other VLANs.
With VLANs and IP, best practices dictate a one-to-one relationship between VLANs and IP subnets. Simply put, the devices in a single VLAN are typically also in the same single IP subnet. Alternately, it is possible to put multiple subnets in one VLAN, and use secondary IP addresses on routers to route between the VLANs and subnets. Also, although not typically done, you can design a network to use one subnet on multiple VLANs, and use routers with proxy ARP enabled to forward traffic between hosts in those VLANs. (Private VLANs might be considered to consist of one subnet over multiple VLANs as well, as covered later in this chapter.) Ultimately, the CCIE written exams tend to focus more on the best use of technologies, so this book will assume that one subnet sits on one VLAN, unless otherwise stated.
Layer 2 switches forward frames between devices in the same VLAN, but they do not forward frames between two devices in different VLANs. To forward data between two VLANs, a multilayer switch (MLS) or router is needed. Chapter 7, “IP Forwarding (Routing),” covers the details of MLS

Microsoft Certified Technology Specialist (MCTS) Overview

Thursday, February 4th, 2010

The Microsoft Certified Technology Specialist (MCTS) certifications provide the foundation for Microsoft Certification. These certifications are designed to validate your skills on the features and functionality of key technologies. You can show your depth of knowledge in one specific technology, earn multiple MCTS certifications to show breadth across different products, or build on the MCTS to earn a Microsoft Certified IT Professional (MCITP) credential.
Demonstrate your specialized technical expertise with a Microsoft Certified Technology Specialist (MCTS) credential. By earning this credential, you can prove your ability to successfully implement, build on, troubleshoot, and debug a particular Microsoft technology, such as a Windows operating system, Microsoft Exchange Server, Microsoft SQL Server, and Microsoft Visual Studio.
MCTS candidate profile
MCTS candidates are capable of implementing, building, troubleshooting, and debugging a particular Microsoft technology.

Microsoft Certifications

Tuesday, February 2nd, 2010

Microsoft Certifications are available for most Microsoft technologies and skill levels from business workers to IT professionals, developers, technology trainers, and system architects. Pursuing a Microsoft Certification helps provide you with up-to-date, relevant IT skills that can help lead to a more fulfilling career, and offer valuable Microsoft Certified Professional (MCP) benefits, including access to the MCP member site and a vast, global network of other certified professionals.
Microsoft Certifications are continually evaluated and updated to ensure their relevance in the marketplace. As a result, earning a Microsoft Certification not only helps you stay up-to-speed on the latest developments in Microsoft technologies and platforms, but also helps enable you to demonstrate to employers your on-the-job skills.