Databases are growing. The way we use data is changing and growing. When you have a lot of change, it has to be managed, or bad things happen to your data and your job! A common problem with database change management is... database change management. This session walks the user through the concepts of database change management, why it's important, and how SQL Server Data Tools (SSDT) makes this process easy. There are a lot of great features in this frequently overlooked product, and if you are not using it, your job is a lot harder than it needs to be. Some things we will discuss: schema compare, database versions in source control, renaming objects, and how your job is pushing the button to deliver it the EASY way with SSDT.
Strategies for Landing an Oracle DBA Job as a Fresher
A Walk Around SQL Server Data Tools | SQL Saturday#392 by James McAuliffe
1. Change Is Easy! Managing Change is Hard
A Walk Around SQL Server Data Tools
Presented by
James McAuliffe
BI Solution Architect, MCITP
Convergence Consulting Group
2. BUSINESS INTELLIGENCE: It’s Who We Are and What We Do.
Business Value – Improve business processes via analytic solutions
Specialized Expertise – Data & Analytics: From initiative to adoption
Partner Approach – Trusted advisor and evangelist, change cultures
Our People are the Best – Experienced, passionate, professionals
Convergence Consulting Group – Who We Are
3. An award-winning consulting services firm that
specializes in helping customers increase business
performance through the transformation of data into
actionable, intuitive analytic solutions.
Ask Me About Opportunities
4. Agenda – Walk Arounds
Change Is Easy - Managing Change is
Hard
• A Walk Around Database Change
Management (Processes, Principles)
Managing Change Is Hard - So Make It
Easier
• A Walk Around SQL Server Data Tools
(SSDT)
10. CREATE TABLE dbo.Auction
(
id INT NOT NULL,
name VARCHAR(25) NOT NULL,
start DATETIME NULL,
len INT NULL
)
class AuctionApplication
(
int id;
void MethodA();
)
Data Change Delivery Is Challenging
Database
class AuctionApplication
(
int id;
void MethodA();
void MethodB();
)
class AuctionApplication
(
int id;
string cacheTitle;
void MethodA();
void MethodB();
)
Revision History
App
V 1 V 2 V 3
ALTER TABLE dbo.Auction
WITH CHECK ADD CONSTRAINT
Au_PK PRIMARY KEY (id)
ALTER TABLE dbo.Auction
WITH CHECK ADD CONSTRAINT
Au_SK UNIQUE (name)
11. T-SQL Change Management DEMO
Create a table named AUCTION
Populate the table.
Make some changes.
12. Change Management Is Hard
Next: Make It Easy
Change WILL Happen
Data Is Valuable
Data Is Expensive
Data Loss is Even More Expensive
Data Change Delivery Is Challenging
13. Change Management Approach
Single Source Of Truth
Organizational Support
• People and Processes to determine change (Governance)
• Structural Organization in the Library
Development Support
Deployment
• Compare
• Delta Scripts
Maintenance
• Compare
• Delta
14. Change Management is Hard – Make it
Easy
SQL Server Data Tools (SSDT)
NOT BIDS (not BI Dev Environment)
SSDT - BI
Free with SQL Server 2012
Free add-in for Visual Studio 2010/2012
Uhh – FREE?
15. One Source Of Truth
Multiple Database Targets
Multiple Developers
Multiple Versions
One Ring To Rule Them All - SSDT
16. Organize
Having Lots of Stuff is Useless
SSDT Uses Same Organization Model As SSMS
Solution: Organize By
• Object
• Schema
• Schema/Object
SQL Server Object Explorer
• If it’s all the same to you…
18. Develop
VS Developers and Database Developers Share
Common Construct
Developers can work either
• Offline
• Online
When Done, Check Changes Into the DB Project
• Multiple Sources, One Destination
19. Deploy
Handoff is continual
When time for a release, all roles can see all changes
consistently
• Database Developer OR
• Application Developer OR
• DBA
Generate one script
Life is good.
20. DEMO
For those that missed the live demo and have
questions, feel free to email me at
jmcauliffe@ccgbi.com
Visit http://www.sqlsaturday.com/ to enjoy the
next live SQL Saturday coming to a city near
you.
21. Review:
Change Management Approach
Single Source Of Truth
Organizational Support
• People and Processes to determine change (Governance)
• Structural Organization in the Library (Consistency)
Development Support
Deployment
• Compare
• Delta Scripts
Maintenance
• Compare
• Delta
22. SQL Server Data Tools
http://msdn.microsoft.com/en-us/library/hh272686(v=VS.103).aspx
Data Developer Center -> Microsoft SQL Server Data Tools ...
https://msdn.microsoft.com/en-us/data/tools.aspx
Learn More About Microsoft SQL Server Data Tools
http://msdn.microsoft.com/en-us/data/hh297029
SQL Server Data Tools Team Blog
http://blogs.msdn.com/b/ssdt/
Home of the Data Dude (Gert Drapers: Father of Database Tools)
http://blogs.msdn.com/b/gertd/
Resources
23. James McAuliffe
Convergence Consulting Group
jmcauliffe@ccgbi.com
www.ccgBI.com
www.linkedin.com/pub/james-mcauliffe/3/b09/b/
Thank You!!
Change Is Easy! Managing Change is Hard
Editor's Notes
BUSINESS INTELLIGENCE CONSULTING IS 100% WHAT WE DO
(Like any good consultant) Our Focus is on BUSINESS solutions
Understanding the clients needs before we start
Deliver Performance Improvement and Business Value through our analytic solutions
We deal with most of the major BI technologies
I specifically am the Microsoft Channel Lead
Responsible for developing our Microsoft practice and bringing Microsoft goodness to the solutions we offer.
Not Just Technologists: Onshore and Local to the customer
operating mostly in Florida and currently expanding in the Southeast US – we have some clients here in ATL
Employees
Business Solutions
Local
Partner
Clients in the area
Consistently ranked among top growth companies
Consistently ranked among top places to work
Growing 30% annually over last 2-3 years
Are you a:
Database developer?
Database Administrator?
BI Developer?
Other --??
I consider myself a database developer, but a lot of times I have to function in the DBA role.
This session is an entry level session for:
Database Developers – The people who make the change
Database Administrators – The people who deliver the change
PEOPLE WHO DEPEND ON DATA FOR A LIVING
Client with 5 database environments
Develop/Sandbox
Collaborative Development
Test
UAT (off premise)
Production
We were discussing the deployment strategy, and how this tool was going to be used, and the handoff to the DBA
One of the db developers said: “This tool seems really cool.”
So I added more discussion on the WHY…..
Presentation will be balanced between talking about the change and product demo
For the Database Developers
Want to MAKE change
Don’t want to have to care about the change
Maybe YOU have to deliver the scripts….. Let’s make that easier
For the Database Administrators
Want to CONTROL change
Don’t want to lose their data
Want everything to work
Want to be able to capture all the changes
NEED to be able to introduce change without destroying the database
What Are Your Roles?
Database Developer?
Analyst?
DBA?
Where Do You Work?
Student?
Little Shop?
Big Shop?
Think About What You Do: Easy? Hard? Time Consuming?
Notes:
You do not see curves like this very often: think of it as surfing a wave: if you don’t catch it at the beginning, you can never catch up.
Auto Industry of 1960s: dominant, (stupid little cars from Japan)
Where is the high value of the future?: nations can be built on knowing how to ride these waves
If you think that “keeping up” is being able to keep up with the toolsets, indiscriminately, you are a dinosaur
You have to pick the right wave, at the right time, in order to surf to success.
Or, to use our driving/racing metaphor, if you don’t take the right angle into the curve, you will crash and burn
From 2005 to 2020, the digital universe will grow by a factor of 300, from 130 exabytes to 40,000 exabytes,
40 trillion gigabytes
more than 5,200 gigabytes for every man, woman, and child in 2020
From now until 2020, the digital universe will about double every two years.
Between 2012 and 2020, emerging markets' share of the expanding digital universe will grow from 36% to 62%.
For starters – why do you care?
IDC
IDC Digital Universe Study –
Terabyte: 1000 Gigabytes
Petabyte: 1000 Terabytes
Exabyte : 1000 Petabytes
How big? 5 exabytes is ALL words every spoken by the entire human race, through history.
Projected to go by 50 Times that in 2020.
Petabyte (1 000 000 000 000 000 bytes)
1 Petabyte: 5 years of EOS data (at 46 mbps)
2 Petabytes: All US academic research libraries
20 Petabytes: Production of hard-disk drives in 1995
200 Petabytes: All printed material ORProduction of digital magnetic tape in 1995
Exabyte (1 000 000 000 000 000 000 bytes)
5 Exabytes: All words ever spoken by human beings.
From wikipedia:
The world's technological capacity to store information grew from 2.6 (optimally compressed) exabytes in 1986 to 15.8 in 1993, over 54.5 in 2000, and to 295 (optimally compressed) exabytes in 2007. This is equivalent to less than one 730-MB CD-ROM per person in 1986 (539 MB per person), roughly 4 CD-ROM per person of 1993, 12 CD-ROM per person in the year 2000, and almost 61 CD-ROM per person in 2007. Piling up the imagined 404 billion CD-ROM from 2007 would create a stack from the earth to the moon and a quarter of this distance beyond (with 1.2 mm thickness per CD).
The world’s technological capacity to receive information through one-way broadcast networks was 432 exabytes of (optimally compressed) information in 1986, 715 (optimally compressed) exabytes in 1993, 1,200 (optimally compressed) exabytes in 2000, and 1,900 in 2007.
According to the CSIRO, in the next decade, astronomers expect to be processing 10 petabytes of data every hour from the Square Kilometre Array (SKA) telescope.[11] The array is thus expected to generate approximately one exabyte every four days of operation. According to IBM, the new SKA telescope initiative will generate over an exabyte of data every day. IBM is designing hardware to process this information.
Zettabyte (1 000 000 000 000 000 000 000 bytes)
From wikipedia:
The world’s technological capacity to receive information through one-way broadcast networks was 0.432 zettabytes of (optimally compressed) information in 1986, 0.715 in 1993, 1.2 in 2000, and 1.9 (optimally compressed) zettabytes in 2007 (this is the informational equivalent to every person on earth receiving 174 newspapers per day).[9][10]
According to International Data Corporation, the total amount of global data is expected to grow to 2.7 zettabytes during 2012. This is 48% up from 2011.[11]
Mark Liberman calculated the storage requirements for all human speech ever spoken at 42 zettabytes if digitized as 16 kHz 16-bit audio. This was done in response to a popular expression that states "all words ever spoken by human beings" could be stored in approximately 5 exabytes of data (see exabyte for details). Liberman did "freely confess that maybe the authors [of the exabyte estimate] were thinking about text."[12]
Research from the University of Southern California reports that in 2007, humankind successfully sent 1.9 zettabytes of information through broadcast technology such as televisions and GPS.[13]
Research from the University of California, San Diego reports that in 2008, Americans consumed 3.6 zettabytes of information
Change is Easy – Managing Change Is Hard
Change Is
Inevitable
- if your company is growing – that drives change
- if your company is shrinking – that drives change
2. Easy to Introduce
- in high demand
- database developers “Just this one field”, “just this one…. Whatever”
3. Hard to Manage
- We don’t often see the value of saying NO
- no one know about the downstream effects
- hard to have visibility into the cumulative effects of lots of little changes made by lots of people.
4. Expensive
-making change is expensive
… but not TOO Expensive:
The 200K Drill
What are some data you have that is valuable?
Cell phone,
Pictures on your computer.
A DDLC, by process, is not that different from a SDLC
Envision
Plan/Design
Build/Develop
Deploy (with test!)
Maintain/Stabilize
This slide originally created by Gert Drapers for Team Database Developer GDR2.
So, with DDLC, our versioning challenge is quite different than SDLC.
So let’s talk about the versioning challenge:
Take an example with of a revision chronology or history….
Compare DEV development to Database Development.
Distinct roles, similar functionality: responsible for change.
App Dev rolls on (simple example – we are not talking about data bound UI stuff here – don’t get confused)
Database development beyond
Difference is that database development is STATEFUL…. We have to be aware of what is there, and “change” it
We have to preserve the data content.
What does that currently look like?
See database script project:
T-SQL Scripts
Saturday, June 29, 2013
7:37 AM
Demo creating the AUCTION table.
Delete existing table if there
Create the table
Populate the table with demo script 1
Make a stored procedure from that.
Make the change(s) - talk about impacts
Do typical things, allow mistakes to happen.
You should notice problems with any dependent constraint or object.
Repopulate the table – this should be broken.
Discuss what happened and how we might mitigate the problems.
Organize!!
(Just) having lots of stuff is useless – Sharepoint Anyone?
How about a familiar interface?
Both SSMS and SQL Server Object Explorer in SSDT use the same IDE design paradigm
Open ChangeDemoAuction project
- Create a table
Show artifacts
Tables
Stored proc
Refactor rename auction the change(s) - talk about impacts
Repopulate the table.