Category - Book

Quo vadis iliti j*** te fičer koji sve radi umesto mene a ja moram ništa

Ovaj post ima previše psovki da bi bio napisan na engleskom jeziku, al računam da nije malo i to što će dopreti do onih koji se služe srpskohrvatskim jezikom.

G1Postalo je gotovo nesnosno kako predstavnici mnogog proizvođača softvera (ne samo iz ogranka marketinga) najnovije fičere, alate i servise prodaju koristeći sintagmu “to sve radi za vas ispod haube,  ne morate kurcem mrdnuti, ne morate ništa znati o tome, ne morate programirati, sve je transparentno, dva-tri klika, malo drag and drop i fičer će sve uradit za vas”. Tome se pridružuje sve više predavača i tzv. eksperata ističući u prvi plan da je neki fičer do jaja jer njegov korisnik gotovo ništa ne mora da zna i ne mora više da brine o sistemu. Doduše i ne mora da brine, al sve dok ga sistem kurčinom ne tresne po čelu.

Toliko je novih stvari koje ne znaš, da prosto ne znaš gde i kako da počneš da ih učiš, a vremena nikad dovoljno. I onda ti neko kaže e ovo uopšte ne moraš da znaš, to radi samo, naravno da ćeš to malo vremena da posvetiš nečemu drugom, potpuno se oslanjajući na taj moćni fičr. Dok god ta stvar radi ono što korisnik očekuje i to radi dovoljno brzo, nema nikakvih problema. Dođe li do neželjenih efekata ili je stvar prespora onda kompania od tebe očekuje da nešto preduzmeš. A ako ne znaš kako to radi, ako ne razumeš concept, nemaš workaround, nisi se pripremio za tu situaciju onda možeš kurac.

Nove softverske verzije, novi alati samo su oruđe koje vam može pomoći da dođete do proizvodnog cilja: bržeg razvoja, skalabilnog sistema, boljih performansi. Ali to su samo jebeni alati. Oni ne rade za vas ili umesto vas; vi njih koristite i vi treba da radite sa njima. Treba dobro da ih poznajete, da znate šta i koliko mogu i možda još bitnije šta ne mogu. I valja gvirnuti poda haubu da vidiš kako to sve radi da bi znao da li je to za tebe.

Kad javno kažeš ovaj fičer je do jaja, biće ti query do 100 puta brži, a ne kažeš kad neće (a većini jebeno neće) i da može pod nekim uslovima i da bude i sporiji time si uljuljkao posetioca svoje sesije i potencijalno ga naveo na lošu poslovnu odluku. On obično nema vremena da nakon konferencije dalje razrađuje tu temu – bio je, čuo od eksperta i uzeće to kao istinu. I kad se suoči sa teškoćama u vezi sa tim fičerom, vendor ili spiker će bu obećati noviji, brži, jači i bolji.

Zato treba ljude podsećati na to da je baš lepo imati super fičere i alate, i da nesumljivo u njih treba investirati, ali da je još uvek jebeno najbitnije znanje i da treba da što više uče i znaju i da se prema svemu odnose kritički, a ne da se poput šiparica primaju na pojedine stvari pa se onda u javnim blog-postovima razočaravaju. I da treba da investiraju u znanje.

 

SQL Server 2017 Developer’s Guide

Together with Dejan Sarka (blog | twitter) and William Durkin (blog | twitter) I have finished writing the SQL Server 2017 Developer’s Guide book.

9781788476195The book is available at the Packt Publishing portal https://www.packtpub.com/big-data-and-business-intelligence/sql-server-2017-developer%E2%80%99s-guide and Amazon https://www.amazon.com/SQL-Server-2016-Developers-Guide-ebook/dp/B01MS5L01Q.

Here is a very brief book description:

Microsoft SQL Server 2017 is the next big step in the data platform history of Microsoft as it brings in the power of R and Python for machine learning and containerization-based deployment on Windows and Linux. Compared to its predecessor, SQL Server 2017 has evolved into Machine Learning with R services for statistical analysis and Python packages for analytical processing. This book prepares you for more advanced topics by starting with a quick introduction to SQL Server 2017’s new features and a recapitulation of the possibilities you may have already explored with previous versions of SQL Server. The next part introduces you to enhancements in the Transact-SQL language and new database engine capabilities and then switches to a completely new technology inside SQL Server: JSON support. We also take a look at the Stretch database, security enhancements, and temporal tables.

Furthermore, the book focuses on implementing advanced topics, including Query Store, columnstore indexes, and In-Memory OLTP. Towards the end of the book, you’ll be introduced to R and how to use the R language with Transact-SQL for data exploration and analysis. You’ll also learn to integrate Python code in SQL Server and graph database implementations along with deployment options on Linux and SQL Server in containers for development and testing.

By the end of this book, you will have the required information to design efficient, high-performance database applications without any hassle.

What You Will Learn

  • Explore the new development features introduced in SQL Server 2017
  • Identify opportunities for In-Memory OLTP technology
  • Use columnstore indexes to get storage and performance improvements
  • Extend database design solutions using temporal tables
  • Exchange JSON data between applications and SQL Server
  • Migrate historical data to Microsoft Azure by using Stretch database
  • Use the new security features to encrypt or mask the data
  • Control the access to the data on the row levels
  • Simplify performance troubleshooting with Query Store
  • Discover the potential of R and Python integration
  • Model complex relationships with the graph databases in SQL Server 2017

I hope, you’ll enjoy reading it.

SQL Server 2016 Developer’s Guide

Together with Dejan Sarka (blog | twitter) and William Durkin (blog | twitter) I have finished writing on the SQL Server 2016 Developer’s Guide book.

B05694The book is available at the Packt Publishing portal https://www.packtpub.com/big-data-and-business-intelligence/sql-server-2016-developer-guide and Amazon https://www.amazon.com/SQL-Server-2016-Developers-Guide-ebook/dp/B01MS5L01Q.

Here is a very brief description of all chapters of the book.
Chapter 1: Introduction to SQL Server 2016

Many new improvements have been made to SQL Server 2016. In this chapter we’ll cover very briefly most important features and enhancements, not only those for developers. We want to show the whole picture and to point where the things are moving on. Although this book is for developers and covers developer related features, it is pretty clear that in 5-10 years all developers need to deal with some features which are currently developed and are under development within the business intelligence scope. Therefore, it is important to show tendencies so that everyone could consider to embrace some of them. We will also present how Microsoft plan to deliver services and products in the future.

Chapter 2: Review of SQL Server Features for Developers
A brief recapitulation of the features available for developers in previous versions of SQL Server in this chapter serves as a foundation for explanation of the many new features in SQL Server 2016. Some best practices are covered as well.

Chapter 3: SQL Server Tools
Understanding changes in the release management of SQL Server tools and exploring small and handy enhancements in SQL Server Management Studio (SSMS). Using new fancy feature live query statistics. Exploring SQL Server Data Tools (SSDT) and its support for continuous integration and deployment automation.

Chapter 4: Transact-SQL Enhancements
Exploring Transact-SQL enhancements: new functions and syntax extensions, discovering ALTER TABLE improvements for online operations and considering new query hints for query tuning.

Chapter 5: JSON Support
Supporting JSON data was the most requested feature on the Microsoft SQL Server connect site. This feature has been finally added in SQL Server 2016. Having JSON support built into SQL Server should make it easier for applications to exchange JSON data with SQL Server.

Chapter 6: Stretch Database
Understanding how to migrate historical or less accessed data transparently and securely to the Microsoft Azure by using Stretch Database (Stretch DB) feature.

Chapter 7: Temporal Tables
SQL Server 2016 introduces support for system-versioned temporal tables based on the SQL:2011 standard. We’ll explain how this implemented in SQL Server is and demonstrates some use cases for it (time-travel application). We’ll also discuss what is still missing for the full Temporal Data support in SQL Server

Chapter 8: Tightening the Security
SQL Server 2016 introduces three new security features. With Always Encrypted SQL Server finally enables full data encryption, so that no tools or persons regardless their database and server permissions can read encrypted data except the client application with an appropriate key. Row-level security on the other side restricts which data in a table can be seen by specific user. This is very useful in multi-tenant environments where you usually want to avoid data-reading intersection between different customers. Dynamic data masking is a soft feature that limits sensitive data exposure by masking it to non-privileged users.

Chapter 9: Query Store
Understanding how to use Query Store to troubleshoot and fix performance problems that are related to execution plan changes. Although this is primarily DBA feature, it can be also very useful for developers to identify most expensive and queries with regressed (or heavily changed) execution plans. It will also help them to analyze and become more familiar with the workload patterns generated by their applications and services.

Chapter 10: Columnstore Indexes
Columnar storage was first added to SQL Server in version 2012. It included nonclustered columnstore indexes (NCCI) only. Clustered columnstore indexes (CCI) were added in version 2014. In this chapter, the readers revise the columnar storage and then explore huge improvements for columnstore indexes in SQL Server 2016: updateable nonclustered columnstore indexes, columnstore indexes on in-memory tables, and many other new features for operational analytics.

Chapter 11: Introducing SQL Server In-Memory OLTP
Understanding in SQL Server 2014 introduced, but still underused In-Memory database engine that provides significant performance gains for OLTP workloads.

Chapter 12: In-Memory OLTP Improvements in SQL Server 2016
With the new SQL Server 2016 release many of the issues that might block the adoption of In-Memory OLTP have been eliminated: supporting foreign keys, check and unique constraints, parallelism, recommended maximum size of In-Memory tables has been increased to 2 TB, tables, stored procedures and indexes can be altered… Also Transact-SQL constructs support for by In-Memory tables and compiled stored procedures has been extended. All these improvements extend the number of potential use cases and allow the implementation with less development effort and risk.

Chapter 13: Supporting R in SQL Server
SQL Server R Services combines the power and flexibility of the open source R language with enterprise-level tools for data storage and management, workflow development, and reporting and visualization. This chapter introduces the R Services and the R language.

Chapter 14: Data Exploration and Predictive Modeling with R in SQL Server
Just knowing that you can use the R language inside SQL Server does not help much. After R and R support in SQL Server were introduced in the previous chapter, this chapter shows how you can use R for advanced data exploration and manipulation and for statistical analysis and predictive modeling way beyond the possibilities when using T-SQL language only.

I hope, you’ll enjoy reading it.