Microsoft sort SQL Server 2014 CTP 2
Et vante ses nouvelles capacités In-Memory permettant d'accélérer 30 fois les performances

Le , par Hinault Romaric, Responsable .NET
Microsoft a profité de son salon Pass Summit 2013 dédié à SQL Server pour dévoiler la CTP 2 de sa plateforme de gestion de données moderne SQL Server 2014.

SQL Server 2014 est conçu autour de trois objectifs majeurs : offrir un système de base de données « In-Memory », de nouvelles capacités Cloud pour simplifier l’adoption du Cloud Computing pour les bases de données SQL et faciliter la mise sur pied de nouveaux scénarios hybrides.

Le concept « In-Memory » consiste à mettre en cache les données traitées par les applications plutôt que, par exemple, faire des appels à un serveur. SQL Server 2014 CTP 2 apporte de nouvelles capacités « in-memory online transactional processing » (OLTP, anciennement connu sous le nom de code Hekaton).

OLTP est une couche de base de données et de calcul permettant le traitement de volumes massifs de données en temps réel, en mémoire vive, afin de fournir les résultats immédiats d’analyses et de transactions. Selon une fiche technique publiée par Microsoft, OLTP revendique des performances 10 à 30 fois meilleures pour les applications SQL Server.


Par ailleurs, les procédures (écrites en Transact SQL) qui opèrent sur les tables en mémoire sont compilées en code natif. La combinaison In-Memory et l’exécution du code natif permet une accélération considérable des opérations.

SQL Server 2014 CTP 2 offre également de nouvelles capacités de reprise après sinistre et des solutions de sauvegarde avec Windows Azure. Ces fonctionnalités permettent aux utilisateurs de sauvegarder directement leurs bases de données dans Windows Azure et de bénéficier en plus de la possibilité d’exécuter des fichiers de base de données dans le Cloud. Ce qui permet une réduction du temps de latence et une meilleure disponibilité.

Le SGBDR tire également parti des nouvelles fonctionnalités de Windows Server 2012 R2 pour offrir une évolutivité accrue pour les applications de base de données dans un environnement physique ou virtuel.

SQL Server 2014 CTP 2 est une version de test, qui peut cependant être utilisée dans un environnement de production.

Télécharger SQL Server 2014 CTP 2

Source : Microsoft

Et vous ?

Que pensez-vous des nouvelles capacités In-Memory de SQL Server 2014 ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de imikado imikado - Rédacteur https://www.developpez.com
le 17/10/2013 à 12:13
Le concept « In-Memory » consiste à mettre en cache les données traitées par les applications plutôt que, par exemple, de faire des appels à un serveur. SQL Server 2014 CTP 2 apporte de nouvelles capacités « in-memory online transactional processing » (OLTP, anciennement connu sous le nom de code Hekaton).
Cela veut dire, que SQL serveur gerera enfin le cache ? (Comme mysql , Postgresql et Oracle )
Avatar de MacDev MacDev - Membre régulier https://www.developpez.com
le 18/10/2013 à 8:21

Cela veut dire, que SQL serveur gerera enfin le cache ? (Comme mysql , Postgresql et Oracle )
Ce n'est donc pas une innovation?
Avatar de imikado imikado - Rédacteur https://www.developpez.com
le 18/10/2013 à 10:12
Si c'est une innovation pour tout ceux qui utilise sql serveur (dont je fais parti), mais c'est juste rattraper le retard
Avatar de Sirus64 Sirus64 - Membre éclairé https://www.developpez.com
le 18/10/2013 à 20:01
Que pensez-vous des nouvelles capacités In-Memory de SQL Server 2014 ?
Le concept existe ailleurs c'est intéressant qu'il soit intégré à SQL Server. Il faut maintenant voir à l'usage si cela n'entraine pas une trop grande augmentation des demandes de mémoire (RAM). C'est une fonctionnalité à utiliser avec parcimonie.

Pour répondre aux commentaires plus haut : non In-Memory n'est pas une cache... Lisez dont le white paper avant de dire des c±@£¤¢£¤ !

Réf. : white paper - http://download.microsoft.com/downlo...hite_Paper.pdf
Avatar de iberserk iberserk - Membre expert https://www.developpez.com
le 29/10/2013 à 6:31
Sql server a toujours géré le cache revenez sur terre! c'est le principe même de fonctionnement de tout SGBD...

Il s'agit ici d'un nouveau mécanisme très avancé de transactionnel in memory, ORACLE en est vert car très a la bourre la dessus, il ne parvient qu'a faire du inmemory en read only...
Avatar de imikado imikado - Rédacteur https://www.developpez.com
le 29/10/2013 à 8:46
@iberserk
Pouvez vous développez ? (on ne parle pas de cache de plan d'execution)

On souhaiterais l'utiliser : on a des requetes qui renvoie quasiment toujours la même chose (les entrées en bases changeant très peu sur certaines tables)

Comment configurez vous ce cache ? vous indiquez une periode de "validité" du cache ? vous indiquez de cleaner le cache en cas d'insert/update/delete ?

Je suis sincèrement intéressé, un de nos admin a demander la semaine dernière à un des formateurs qui lui a répondu qu'à part un cache de plan d'execution, sql server ne gérait pas de cache.
Avatar de iberserk iberserk - Membre expert https://www.developpez.com
le 29/10/2013 à 10:37
Je parle bien de tous les caches (qui n'est pas du in memory...) (plan, procédure, données).

SQL SERVER fait toutes ses opérations en mémoire puis met a jour les pages physiques (disque).

Si vous avez de nombreuses requêtes qui renvoi toujours la même chose c'est a votre code client de gérer cela via les mécanisme très simple à mettre ne place en .net par exemple avec les dépendances de clé de cache SQL (une petite recherche sur SqlCacheDependancy....).
Avatar de imikado imikado - Rédacteur https://www.developpez.com
le 29/10/2013 à 10:42
Je vous demande, si comme certains autres SGBD (postgresql/mysql/mariaDb), on peut dire : tel requete est en cache au niveau de sqlserver, et vous me répondez de le gerer dans .net

Je n'utilise pas .net pour communiquer avec sqlserver, mais php

Pour information, voila la page en question concernant mysql:
http://dev.mysql.com/doc/refman/5.0/...ery-cache.html
Avatar de zaventem zaventem - Membre chevronné https://www.developpez.com
le 29/10/2013 à 11:04
Ca n'a aucun sens de dire qu'une requête est en cache.
SQL server va tenter de garder en mémoire les données les plus utilisée aussi longtemps que possible. Le cache en question est beaucoup plus proche conceptuellement du cache du processeur que de celui du navigateur web. Maintenant si la mémoire disponible est remplie et que l'on exécute un requête qui demande de charger 1Go de donnée en mémoire, 1Go d'autre données seront éliminée (de la mémoire!) d'où l’importance de connaitre les mécanismes en jeu pour ne pas faire n’importe quoi n'importe quand (où alors se sortir continuellement le porte-feuille pour acheter du matériel supplémentaire)

A la lecture de la doc mise en lien, bien évidemment que SQL server le fait nativement depuis très longtemps; il s'agit dans cette discution de gérer l'intégrité transactionnelle sur des objet in memory. On joue ici à un tout autre niveau!
Avatar de imikado imikado - Rédacteur https://www.developpez.com
le 29/10/2013 à 11:21
Citation Envoyé par zaventem Voir le message
Ca n'a aucun sens de dire qu'une requête est en cache.
Et pourtant

Citation Envoyé par zaventem Voir le message

A la lecture de la doc mise en lien, bien évidemment que SQL server le fait nativement depuis très longtemps; il s'agit dans cette discution de gérer l'intégrité transactionnelle sur des objet in memory. On joue ici à un tout autre niveau!
Un exemple simple, on a volontairement executé une requete avec des critères non indexés sur une table assez volumineuse ( qui nous retournait au final une dizaine de lignes):
Première execution : 27s,
deuxième execution 18s
Où est le cache ?? on s'attendait à avoir sur la seconde (ré-éxécutée tout de suite après sur un serveur non solicité) en temps entre 1 et 2 secondes maximum

De plus mysql gère ça intelligement:
Note: The query cache does not return stale data. When tables are modified, any relevant entries in the query cache are flushed.

Note : Le cache de requêtes ne retourne pas de données périmées. A chaques fois que les données sont modifiées, les entrées correspondantes dans le cache sont effacées.
Contacter le responsable de la rubrique Accueil