Guys, not that long ago (OK, at the end of last year, but still…) an awesome video went online! And yes, I’m starring in it :-O.

No, it’s not that kind of a video, of course!!! It’s my presentation recording from last year’s awesome .NET DeveloperDays, where I had the great opportunity of doing a deep dive on Azure SQL Database and an intro on Docker on Windows and Azure. Here’s the recording – let me know what you think!

Oh, and by the way: this year, in October, I will deliver a full-day training on Docker, Visual Studio, Windows and Azure during .NET DeveloperDays 2017. It’s called ‘Breaking Apps Apart Intentionally – Visual Studio + Docker + Sprinkles of Azure = Modern Microservices‘ (fabulous name, isn’t it? :-)).

If you hurry, you can still get in for a super-modest super-early bird fee (offer ends at the end of March): http://net.developerdays.pl/registration.

Hope to see you there,

Alex

Earlier this year I had the awesome opportunity to share my SQL Database From A Dev’s Perspective session to the overwhelming audience of Transylvanian software developers in Cluj-Napoca (Romania) during one of the very best IT conferences in Eastern Europe, namely ITCamp.

I do realize you might have had the chance of downloading the slides before (either from my post-event blog-posts ) or you might have attended the session at WinDays in Croatia, NT Konferenca in Slovenia or CloudBurst in Sweden. However, if that is not the case or if you just needed a quick reminder on DDM, RLS, AlwaysEncrypted, InMemory OLTP etc. (what are all these?!), here’s your chance to watch the session from the comfort of your own couch.

All the best and happy entertainment/learning 🙂

 

Azure SQL for Developers – Alex Mang from ITCamp on Vimeo.

CloudBurst 2016

This year I was busy enough to ignore to keep the blog up to date with post- public engagements posts. Therefore, I’ve decided to start doing these DURING the events. So here I am at CloudBurst 2016, watching a great presentation on DevOps operations using Visual Studio Team Services, just a nice 30 minutes *after* my session: SQL Database From A Dev’s Perspective. For those of you in Sweden who joined my session, THANK YOU! You were a great audience – all the many and spot-on questions help make the presentation an interactive one a lot. You were such an awesome crowd!

Both for you and for those of you who missed the session, I’m hereby making the slides publicly available:

Read More →

 Croatia, thanks for having me!

This year I got the chance to engage the Croatian developer communities in Porec, a beautiful Croatian city at the Mediterranean sea side, during WinDays – the largest Microsoft driven event in Croatia.

As I said in my interview with the WinDays media crew, this was my second time in Croatia. Whilst my first experience in Croatia as a tourist (when I got to visit Dubrovnik) blew me away by the historical culture Croatia has to over, my second time in Croatia blew my away by the quality and software developers, their deep knowledge and familiarity with the latest technologies and trends. Good job, Croatia!

WinDays

WinDays is by far the largest Microsoft driven event in Croatia, which brings together developers, IT professionals and IT business managers and decision makers, making is thus the best opportunity to learn stuff and meet interesting people. Right before I got to the WinDays island (yep, you’ve read that right – the event was hosted in a private resort, on a car-free island! How cool is that?!), I was mindblown by the logistics behind this many-thousands-attendees large event. For example, a few kilometers before arriving in Porec, I started following road signs with the conference’s logo. Second, I had my car parked in one of the largest parking lots completely reserved for the conference, where a minibus got to pick us up. Once we got to the sea-side, a shuttle boat reserved for the conference cross us over to the island, and they had such a boat trip every roughly 15 mins. Once I got to my room, the TV automatically turned on and started playing the conference’s teaser video; in addition, all the WiFi SSID, both in the hotel (room, restaurant, lobby etc.) and in the other conference venues were named WinDays. That’s as much branding as you can get, honestly! Great job, WinDays team!!!

I got to deliver two sessions at WinDays, one on Application Insights (my already traditional ‘Know Your Customers, Know Your Apps!’), where it is my turn to blow people’s mind with the power of usage and performance analytics Application Insights offers almost completely out of the box.

My other session covered features specifically designed for SQL users, named ‘SQL Database from a Developer’s Perspective’ – during this session, I’ve covered my top favorite security and performance features which have either been around for a year or so or were recently added to Azure SQL Database.

Queens

One of the biggest surprises I had at WinDays was the party they’ve put together for attendees and speakers alike. This was also the moment when they offered a prize of 40,000 kuna for the winning Software Startup Academy competition which ran for a few months. Anyway, during this party, they got a Queens cover band to entertain us. At first, especially because of the ‘cover band’ part, I have to admit I didn’t really have high expectations. However, this turned out to be one of the BEST concerts I ever attended -really! I mean the songs they chose, the impersonation they did on Freddy Mercury, the way they got the entire crowd cheered up and in the right mood… WOW!

I’ve also added some photos taken at WinDays, below.






itcamp-logo-white[1]For the past 5 years, two great IT community volunteers, namely Tudor Damian and Mihai Tataran, along with a team of engaged volunteers, have put together what is in my opinion the greatest community driven IT conference in Romania, namely ITCamp.

Last year’s edition gathered over 500 attendees, mostly mid- and high-level software developers, all keen to learn from and network with an impressive panel of speakers coming from all over the world, each of them an expert in the IT industry.

Given the public agenda available on http://itcamp.ro, this year’s edition will easily surpasses both content quality and quantity; let me explain:

  • on one hand, this year’s ITCamp will also host a *NEW* track of business-oriented sessions where you could get a lot of insights on how to manage IT risk, what the cloud business models are given the industry cloud-emerging market worldwide, how to become a productive product owner and, one of my very favorites, how to manage intellectual property upon application launch
  • on the other hand, ITCamp 2015 has an impressive list of speakers, such as Paula Januszkiewicz – Enterprise Security MVP, Andy Malone – Enterprise Security MVP, Daniel Petri – Directory Services MVP, Andy Cross – Azure MVP and Microsoft RD, Raffaele Rialdi – Developer Security MVP, Tobiasz Koprowski – SQL Server MVP, David Giard – Microsoft Technical Evangelist, Adam Granicz – F# MVP, to name a few (of course, myself included 🙂 )

To quickly conclude, if you haven’t yet, now is your chance to register for ITCamp 2015 at http://itcamp.ro. The ticket costs around EUR130.00, a bargain considering that this is a once-in-a-year opportunity to get really valuable networking, along with great sessions and wonderful food from the caterer – Grand Hotel Italia.

Wow! No, seriously! WOW! Had the conference not been a good one, this post would have been written either during the event or long after the event.

During these two days I had the opportunity of joining great session given by Microsoft professionals who work in both IT departments and R&D departments. Just to name a few, among the session I had the opportunity to attend are: SQL Server 2014 In-Memory OLTP Query Processing, NoSQL on Azure, Intelligent System Service – the bridge and heart of IoT, Managing Technical Debt, SQL Server for Developers, Using WinJS for web and cross-platform application, Build Your Custom Private Cloud Management Portal with Windows Azure Pack. Unfortunately though, I didn’t get a chance to attend the rest of super-cool sessions the rest of the speakers gave.

On the other hand, I also had the opportunity of offering an Elastic Scale session to a full room (people even decided to even stand just the get all the intel). Should you have missed Microsoft Summit or the session I gave, scrolling a bit down you’ll get a chance the go through the my slides. Also, I highly suggest to be patient and wait for the video recordings to be published on the conference’s website here: http://www.mssummit.ro/en/videos.

Here’s a photo I took a few minutes before the session started:

WP_20141113_10_57_48_Pro

After the event I was also invited to give a short talk about BizSpark and our partnership with Microsoft on Ziarul Financiar Live. The recording of this interview is available here: http://www.zf.ro/business-hi-tech/video-zf-live-special-romania-nevoie-start-up-uri-industria-it-c-sustina-dezvoltarea-urmariti-inregistrarea-emisiunii-alex-mang-ceo-keyticket-solutions-petru-jucovschi-microsoft-romania-13549279.

logo1

Just a couple of days ago, Microsoft Romania announced the Microsoft Summit conference on the Summit’s website (http://www.mssummit.ro) and their annoucement was already vastly covered by IT bloggers and media representatives.

Since last year the Summit was a blast, this year’s edition promises to be nothing less! Moreover, if you hurry, there’s a very-early bird fee for the conference which will take place between November 12th and 13th, in Bucharest!

Alex

Hi loyal readers! I’m super excited today because the Azure SQL Database team have just announced two new tiering levels!

Basically, there announced a Basic and a Standard tier, in addition to the Premium tier. Ok, you might ask yourself why I didn’t mention the Web and Business tiers. Well, because they will be retired in 12 months :(.

The new tiers won’t just change the naming conventions. They come with some additional goodies too! First of all, there’s 99.95% SLA (as soon as they will be GA). Second, there’s self-restore, a service that allows automatic restoration of your database. Based on the tiering level, you can get your data from a restore point that was done up to 24h priorly, 7 days priorly or 35 days priorly (guess which tiering level offers restoration to any point within 35 days – you’re right: Premium). Moreover, there’s a disaster recovery scenario now too: basically, you can get up to 4 readable geo-replicas created for your database. And last but especially not least is performance. If before Premium, you complaint about performance was legit, starting now you are no longer allowed to compain about SQL Database performance :). In order to express Performance, the Azure team has defined DTU, the acronym for database throughput unit. Basically, a DTU combines CPU, memory, physical reads and transaction log writes into a single unit of processing. Based on this definition, “a performance level with 5 DTUs has five times more power than a performance level with 1 DTU”. (http://msdn.microsoft.com/en-US/library/azure/dn741336.aspx)

In other words, you have the option of scaling up your database in the most transparent way: if your database no longer keeps up with the high concurrency, just scale to a double, triple etc. powered system.

Moreover, there is ASDB, which stands for Azure SQL Database Benchmark. “ASDB measures the actual throughput of a performance level by using  a mix of database operations which occur most frequently in online transaction processing (OLTP) workloads”. There more information on ASDB here: http://msdn.microsoft.com/en-US/library/azure/dn741327.aspx

When it comes to db performance, the most evident performance reference is the transaction rate. On the link provided before, there’s a table on each tier’s performance level; let me give you a hint on db performance today: you can get up to 730 transactions / seconds in your database, with 800 concurrent users. Wow!

If you plan to upgrade today, make sure that your subscription has the preview feature activated. If so, you’ll have to create a new server database and copy your existing Web/Business database over to the new server via any mechanism you want. The most comfortable one probably is exporting a .bacpac of your existing database and importing it to the new server. However, please keep in mind that this small drawback is only temporary: the team plans to offer you the option of scaling from Web and Business to Basic and Standard and vice-versa without moving the database to a new server soon (don’t exactly know when, but most likely before the new tiers are generally available).

Pricing will, of course, always be a huge question. If so far your pricing was GB based on the tier you’ve chosen, database size is no longer the only unit of measurement here, since performance will matter from now on too. Therefore, it still is extremely important to optimize your queries as much as possible and only leave the scaling as a last resort. However, if your pocket is wide enough, just go ahead and creat P3 Premium databases and surf around your query waves. ;)

Alex

I was talking today to another follower of the OradeaDevs Facebook page (oradeadevs@groups.facebook.com) about querying data on a specific set, based on whatever column, e.g. Name.

Considering a Product table which has the following columns IDProduct, ProductName, one would probably try to query the set-data by using something we call a sub-query select (or sometimes inner select). Even though the expected result is correct, in my opinion it is best to stay away from any kind of sub-queries, because these are usually the reason for why SQL databases respond slow (after the use of cursors, of course). Keep in mind that even if you’re Chuck Norris and do some sort of magic indexes configuration, once the SQL query engine will scan the clustered/non-clustered index tables, spool the tables over and over again, remove the carthesian products resulted from the subquery values etc. the query result will respond slow.

In my opinion, it is best have a larger set of the data kept in a buffer memory-like area and query the last set from there. For example, if one would like to query the entries, ordered alphabetically by their name, from 21 to 30, it would be a better solution to query the data from 1 to 30 and afterwards to query the last 9 values (which is bassically the case of using a simple WHERE clause).

And since it comes to temporary data tables, considering SQL Server 2K5 is around for some time now, I would suggest the use of common table expressions, which are a great way, from the performant p.o.v., to save your temporary data you want to query on.

So, there the use of a CTE which lists the entries between 29989 and 30000 of a table called Product, ordered by their product name:

WITH TopCTE AS (     SELECT TOP 30000        ROW_NUMBER() OVER(ORDER BY ProductName) AS RowNumber, ProductName        FROM Product        ORDER BY ProductName ) SELECT *     FROM TopCTE     WHERE RowNumber > 29990

That’s it for now!

BBL 🙂