This is because of the different depths of the texts, and you can cure this by setting universal text depths and text heights.
\documentclass[border=2pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{matrix,positioning,fit,backgrounds}
\begin{document}
\tiny\begin{tikzpicture}[>=latex]
\matrix (m1) [matrix of nodes,anchor=center,align=left,
row sep=-\pgflinewidth,column sep=-\pgflinewidth,
nodes={draw,align=left,text depth=0.25ex,text height=1.5em-0.25ex},
column 1/.style={nodes={minimum width=3em,minimum height=1.5em}},
column 2/.style={nodes={minimum width=8em,minimum height=1.5em}},
]
{
\_id & \_data \\
32 & Keypress.ogg \\
57 & Sparse.ogg \\
\vdots & \vdots \\
};
\node[above=0 of m1] (N1) {example};
\begin{pgfonlayer}{background}
\node[fit=(m1)(N1), fill=blue!10,dashed] {};
\end{pgfonlayer}
\end{tikzpicture}
\end{document}

minimum height=1.5em is redundant but I kept it.
To align the text on the left, a quick solution is to set the text width appropriately. (There is a better solution which I will add once I am on my other laptop...)
\documentclass[border=2pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{matrix,positioning,fit,backgrounds}
\begin{document}
\tiny\begin{tikzpicture}[>=latex]
\matrix (m1) [matrix of nodes,anchor=center,align=left,
row sep=-\pgflinewidth,column sep=-\pgflinewidth,
nodes={draw,align=left,text depth=0.25ex,text height=1.5em-0.25ex},
column 1/.style={nodes={text width=width("\_id"),minimum height=1.5em}},
column 2/.style={nodes={text width=width("Keypress.ogg"),minimum height=1.5em}},
]
{
\_id & \_data \\
32 & Keypress.ogg \\
57 & Sparse.ogg \\
\vdots & \vdots \\
};
\node[above=0 of m1] (N1) {example};
\begin{pgfonlayer}{background}
\node[fit=(m1)(N1), fill=blue!10,dashed] {};
\end{pgfonlayer}
\end{tikzpicture}
\end{document}
And this is the more automatic solution. It allows you to specify the alignment of every column, the allowed values are l, c and r.
\documentclass[border=2pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{matrix,positioning,fit,backgrounds}
\usepackage{eqparbox}
\newbox\matrixcellbox
\tikzset{column align/.style 2 args={column #1/.style={nodes={execute at begin
node={\setbox\matrixcellbox=\hbox\bgroup},
execute at end
node={\egroup\eqmakebox[\tikzmatrixname\the\pgfmatrixcurrentcolumn][#2]{\copy\matrixcellbox}}}}}}
\begin{document}
\tiny\begin{tikzpicture}[>=latex]
\matrix (m1) [matrix of nodes,anchor=center,align=left,
row sep=-\pgflinewidth,column sep=-\pgflinewidth,
nodes={draw,align=left,text depth=0.25ex,text height=1.5em-0.25ex},
column 1/.style={nodes={minimum width=3em,minimum height=1.5em}},
column 2/.style={nodes={minimum width=8em,minimum height=1.5em}},
column align={1}{l},column align={2}{l},
]
{
\_id & \_data \\
32 & Keypress.ogg \\
57 & Sparse.ogg \\
\vdots & \vdots \\
};
\node[above=0 of m1] (N1) {example};
\begin{pgfonlayer}{background}
\node[fit=(m1)(N1), fill=blue!10,dashed] {};
\end{pgfonlayer}
\end{tikzpicture}
\end{document}

text width. There is a better solution available but I do not have it on my laptop I am at now. – Oct 23 '19 at 00:45