Can Microsoft Azure SQL Server utilize FileTable / Blob Storage?
Asked Answered
A

3

11

Background/Problem

I'm trying to do something along the lines of the following but can't find it documented:

  • SQL Azure Database (not VM)
  • Hook it up to some (blob) storage
  • Utilize FileTables to store files to the db/filesystem

Clarification: Rough Architecture

This is what I'm thinking:

   +--------------------+
   | Queue for Requests |
   | For File Packages  |
   +---------+----------+
             |
             |
  +----------v-----------+
  |Worker Role           |
  |Grabs Files to Package|
  +-----------+----------+
              |
              |
     +--------v-------+            +--------------+
     |SQL Azure       |<----------+|Web Site      |
     |Using FileTable |            |Saves to Azure|
     +----------------+            +--------------+
              +
              |
              |
              v
 +--------------------------+
 |RAID 0 Striping -- 500 GB |
 |------------+-------------|
 |            |             |
 | 250 GB     |      250 GB |
 | Disk 1     |      Disk 2 |
 +------------+-------------+

Question

Is this setup possible, and if not, why not?

I have been looking everywhere but without actually paying for a Windows Azure account it's hard to find out ahead of time.

Amphiprostyle answered 3/8, 2013 at 5:12 Comment(1)
Currently, to leverage FileTables in Azure - you would have to use SQL Server on an Azure VM (PaaS) - you could use Blob Storage by mounting VHD drives (up to 1TB) pointed to via your Filestreams. There may be other ways (3rd party apps) to mount blob storage within your Azure VM.Absorptance
J
10

No, SQL Azure does not support filetable, nor filestreams. You can store your files in Azure Blob Storage (see How to use the Windows Azure Blob Storage Service) and store metadata about files (name, type, URL location) in SQL Azure DB.

For a list of SQL Server feature limitations in Windows Azure SQL Database refer to Azure SQL Database Transact-SQL information.

For a list of ALTER DATABASE options supported by Windows Azure SQL Database refer to ALTER DATABASE (Transact-SQL).

Jute answered 3/8, 2013 at 6:55 Comment(3)
Unfortunate, but exactly what I needed to know. Thanks!Amphiprostyle
The Limitations link you gave says that FILESTREAM is not supported, but a traditional varchar(max) table seems to be fine? Isn't it BLOB storage anyway?Zaremski
Varchar(max) attempts to store text directly in a row unless it exceeds the 8k limitation, at which point it will be stored in a blob.Killifish
A
1

Unfortunatelly FileTable and FILESTREAM is not supported. Take a look at:

Features that are not supported in Azure SQL V12

Assent answered 21/5, 2015 at 17:25 Comment(0)
T
0

@user193655. As I don't seem to be able to answer you question with a comment. Yes Varchar (or better yet VarBinary) can be used to store file information. It is one of 4 approaches supported by SQL server. Each have merit for different design needs.

Performance wise the cut-off is approx 1Mb. If your files are smaller than that, varbinary is faster than Filestream. As filestream can deliver data much faster than TDS (Tabular Data Stream) but has greater overhead to setup the data transfer operation. (This is based on results published the SQL Dev team)

Of course you also need to consider where this data will be stored. Often it is better to horizontally partition your table & put the Varbinary column in a separate table on a different filegroup.

Note: The SQL Team is working hard to reduce the gaps in feature parity between SQL Azure & SQL Server. So if you are reading this in 2015+ check the docs referenced above. The answer may become "supported".

Transmittal answered 9/2, 2014 at 3:7 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.