Here are the survey results from the Tedious survey which ran from May 2017 to January 2018.
Order | Answer | Responses | Percent
-- | -- | -- | --
1 | Enterprise Projects | 20 | 41%
2 | Small-Medium Business Projects | 23 | 47%
3 | Personal Projects | 5 | 10%
4 | Prototyping only | 1 | 2%
聽 | TOTAL | 39 | 100.00%
Order | Answer | Responses | Percent
-- | -- | -- | --
1 | Web Applications | 41 | 84%
2 | Back-end Applications | 37 | 76%
3 | Desktop Applications | 6 | 12%
4 | Mobile Applications | 14 | 29%
5 | IoT Projects | 1 | 2%
6 | Data Science/Machine Learning Projects | 3 | 6%
7 | Other, please specify: [Open-ended answer] | 1 | 2%
聽 | Etl batch jobs | |
聽 | (49聽Respondents)聽聽聽聽TOTAL | 103 |
Order | Answer | Responses | Percent
-- | -- | -- | --
1 | tedious (https://github.com/tediousjs/tedious) | 23 | 47%
2 | mssql (https://github.com/patriksimek/node-mssql) | 16 | 33%
3 | msnodesql (https://github.com/Azure/node-sqlserver) | 3 | 6%
4 | msnodesqlv8 (https://github.com/TimelordUK/node-sqlserver-v8) | 3 | 6%
5 | Other, please specify: [Open-ended answer] | 4 | 8%
聽 | We use tedious, but mostly via sequelize and sometimes with node-mssql. | 聽 |
聽 | Sequelizejs | 聽 |
聽 | https://github.com/mysqljs/mysql | 聽 |
聽 | https://github.com/mysqljs/mysql | 聽 |
聽 | TOTAL | 49 | 100.00%
Order | Answer | Responses | Percent
-- | -- | -- | --
1 | Pure Javascript implementation | 19 | 39%
2 | Performance | 15 | 31%
3 | Connection Resiliency | 14 | 29%
4 | Ease of Use | 30 | 61%
5 | Ease of Setup | 26 | 53%
6 | Compatibility with older SQL Server versions | 5 | 10%
7 | Database Feature Completeness | 11 | 22%
8 | Other, please specify: [Open-ended answer] | 3 | 6%
聽 | officially supported by Microsoft | 聽 |
聽 | simplicity, raw access | 聽 |
聽 | Windows Authentication for SQL Server! | 聽 |
聽 | (49聽Respondents)聽聽聽聽TOTAL | 123
Order | Answer | Responses | Percent
-- | -- | -- | --
1 | Performance | 21 | 43%
2 | Connection Resiliency | 21 | 43%
3 | Ease of Use | 22 | 45%
4 | Ease of Setup | 13 | 27%
5 | Compatibility with older SQL Server versions | 4 | 8%
6 | Database Feature Completeness | 16 | 33%
7 | Other, please specify: [Open-ended answer] | 13 | 27%
聽 | json to xml procedure parameter conversion. | 聽 |
聽 | Don't know yet | 聽 |
聽 | Windows Auth in Tedious. Windows Auth, Windows Auth, WINDOWS AUTH | 聽 |
聽 | Promise support | 聽 |
聽 | connection pooling | 聽 |
聽 | MsSql 2016 | 聽 |
聽 | none | 聽 |
聽 | More examples best practices | 聽 |
聽 | Sample code and sample projects. | 聽 |
聽 | Especially performance related to serialization. | 聽 |
聽 | Windows integrated auth from Linux | 聽 |
聽 | Didn't have any issues | 聽 |
聽 | Event hooks, like node-postgres with triggers. | 聽 |
聽 |(49聽Respondents)聽聽聽聽TOTAL | 110 | 聽
Order | Answer | Responses | Percent
-- | -- | -- | --
1 | Open-ended answers | 22 | 100%
聽 | Better patterns for writing safe code without falling into callback hell. | 聽 |
聽 | ? | 聽 |
聽 | I don't want msnodeqlv8 improved. I want Microsoft to implement Windows Authentication for SQL Server in Tedious. Insane that the PR and feedback haven't resulted in Windows Auth for SQL Server in Tedious yet. Need help MS? | 聽 |
聽 | Support latest version of Node | 聽 |
聽 | More feature-parity with the .NET SqlClient driver | 聽 |
聽 | connection pooling with resiliency | 聽 |
聽 | Connection pooling. Need that performance. | 聽 |
聽 | Needs an async interface (Promises, async/await). Instead of wrapping it with another library like tedious-promises. | 聽 |
聽 | No really necessary changes. A more modern async/await API would be great now that those have landed in Node.js LTS. | 聽 |
聽 | Can't think about for now. | 聽 |
聽 | Documentation maintenance. | 聽 |
聽 | Documentation | 聽 |
聽 | More useful error reporting. | 聽 |
聽 | Serialization performance. Receiving large data sets can take a long time and use an incredible amount of blocking CPU.Using a streaming interface can be helpful, but often it doesn't make sense when you only need 1000 rows and need to buffer all of them. | 聽 |
聽 | JSON support. | 聽 |
聽 | Would like to use table value parameters outside of stored prices (mssql's .query() function, instead of .execute()) | 聽 |
聽 | TOTAL | 16 | 100.00% | 聽
Order | Answer | Responses | Percent
-- | -- | -- | --
1 | 5 | 15 | 38%
2 | 4 | 12 | 31%
3 | 3 | 2 | 5%
4 | 2 | 3 | 8%
5 | 1 | 2 | 5%
6 | N/A | 5 | 13%
聽 | TOTAL | 39 | 100.00%
Order | Answer | Responses | Percent
-- | -- | -- | --
1 | macOS | 14 | 29%
2 | Red Hat/CentOS | 4 | 8%
3 | Ubuntu/Debian | 7 | 15%
4 | SUSE | 0 | 0%
5 | Windows | 21 | 44%
6 | Other, please specify: [Open-ended answer] | 2 | 4%
聽 | windows, debian, centos | 聽 |
聽 | archlinux / docker / alpine linux | 聽 |
聽 | TOTAL | 48 | 100.00%
Order | Answer | Responses | Percent
-- | -- | -- | --
1 | macOS | 0 | 0%
2 | Red Hat/CentOS | 9 | 19%
3 | Ubuntu/Debian | 14 | 30%
4 | SUSE | 0 | 0%
5 | Windows | 19 | 41%
6 | Other, please specify: [Open-ended answer] | 4 | 8%
聽 | Anywhere Node runs - Windows, Linux, Mac | 聽 |
聽 | windows, debian, centos | 聽 |
聽 | Amazon Lambda | 聽 |
聽 | ubuntu / docker / alpine linux | 聽 |
7 | I don't run Node.js in production | 1 | 2%
聽 | TOTAL | 47 | 100.00%
Order | Answer | Responses | Percent
-- | -- | -- | --
1 | Azure SQL Database | 10 | 21%
2 | Azure SQL Data Warehouse | 0 | 0%
3 | SQL Server 2017+ | 6 | 12%
4 | SQL Server 2016 | 14 | 29%
5 | SQL Server 2014 | 5 | 10%
6 | SQL Server 2012 | 5 | 10%
7 | SQL Server 2008 R2 | 6 | 12%
8 | SQL Server 2008 | 0 | 0%
9 | SQL Server 2005 | 0 | 0%
10 | Other, please specify: [Open-ended answer] | 3 | 8%
聽 | 2008-2014 | 聽 |
聽 | I usually use AWS. | 聽 |
聽 | mariadb | 聽 |
聽 | TOTAL | 49 | 100.00%
Order | Answer | Responses | Percent
-- | -- | -- | --
1 | Node.js v7.x | 28 | 57%
2 | Node.js v6.x | 13 | 27%
3 | Node.js v5.x | 0 | 0%
4 | Other, please specify: [Open-ended answer] | 8 | 16%
聽 | v8.9.1 | 聽 |
聽 | Node.js v8.6 | 聽 |
聽 | v8.x now, previously v7.x | 聽 |
聽 | Node.js v8.x | 聽 |
聽 | 8.9 | 聽 |
聽 | 8.0.0 | 聽 |
聽 | TOTAL | 49 | 100.00% | 聽
Order | Answer | Responses | Percent
-- | -- | -- | --
1 | ReactJS | 12 | 27%
2 | Express.js | 36 | 82%
3 | Meteor | 0 | 0%
4 | AngularJS | 8 | 18
5 | Angular2 | 10 | 23%
6 | jQuery | 9 | 20%
7 | ember.js | 1 | 2%
8 | Vue.js | 5 | 11%
9 | Backbone.js | 2 | 5%
10 | D3.js | 2 | 5%
11 | Other, please specify: [Open-ended answer] | 4 | 9%
聽 | Feathers.js | 聽 |
聽 | knockout.js | 聽 |
聽 | We also use in-house libraries for interacting with Kafka. | 聽 |
聽 | KnockoutJS | 聽 |
聽 |(44聽Respondents)聽聽聽聽TOTAL | 89 | 聽
@David-Engel Thank you SO MUCH for posting these! 馃憤 馃槏
I got to say, I love that sole user that apparently uses tedious
to connect to mariadb
. 馃ぃ
For the couple of users who responded that they would like connection pooling, I wonder if they know about https://github.com/tediousjs/tedious-connection-pool. I also wonder if that library is being kept up-to-date with the latest release of tedious. It looks pretty simple. Is that something we should contribute to? Or maybe integrate it into tedious? Just wondering...
an offer to maintain it: https://github.com/tediousjs/tedious-connection-pool/issues/48
Most helpful comment
@David-Engel tedious-connection-pool is not actively maintained. There are packages in npm that allow connection pooling via tedious, for now it would be best to direct users to use them 馃 mssql and sequelize(ORM) are widely used ones.